This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    сервис_git [2022/09/30 12:17] val [On-Premise gitlab]  | 
                
                    сервис_git [2025/10/22 06:12] (current) val [Пример с использованием cron]  | 
            ||
|---|---|---|---|
| Line 12: | Line 12: | ||
| * [[https://youtu.be/SEvR78OhGtw|youtube/Артем Матяшов/Git. Большой практический выпуск (youtube)]] | * [[https://youtu.be/SEvR78OhGtw|youtube/Артем Матяшов/Git. Большой практический выпуск (youtube)]] | ||
| + | |||
| + | * [[https://github.com/github/gitignore/tree/main|A collection of .gitignore templates]] | ||
| ===== Работа с локальным репозиторием ===== | ===== Работа с локальным репозиторием ===== | ||
| Line 20: | Line 22: | ||
| server:~$ cd conf/ | server:~$ cd conf/ | ||
| + | или | ||
| + | server:~$ git -C conf/ ... | ||
| server:~/conf$ echo Hello World > file1 | server:~/conf$ echo Hello World > file1 | ||
| Line 61: | Line 65: | ||
| server:~/conf$ git diff <commit hash N> <commit hash M> file1 | server:~/conf$ git diff <commit hash N> <commit hash M> file1 | ||
| + | |||
| + | server:~/conf$ git reset --hard <commit hash N> | ||
| </code> | </code> | ||
| Line 73: | Line 79: | ||
| do | do | ||
| cd $d | cd $d | ||
| - | [ -d $d/.git ] || git init > /dev/null | + | [ -d $d/.git ] || /usr/bin/git init > /dev/null | 
| - | git add . | + | /usr/bin/git add . | 
| - | git --no-optional-locks status | grep 'modified\|deleted\|new file\|renamed' | git commit -a -F - > /dev/null | + | /usr/bin/git --no-optional-locks status | grep 'modified\|deleted\|new file\|renamed' | /usr/bin/git commit -a -F - > /dev/null | 
| done | done | ||
| Line 88: | Line 94: | ||
| server#:/var/www/html/conf.git# git init --bare | server#:/var/www/html/conf.git# git init --bare | ||
| - | |||
| - | Не обязательно, но, если хочется видеть содержимое текущего репозитория по http, можно настроить hooks/post-update  | ||
| server#:/var/www/html/conf.git# mv hooks/post-update.sample hooks/post-update | server#:/var/www/html/conf.git# mv hooks/post-update.sample hooks/post-update | ||
| server#:/var/www/html/conf.git# chmod a+x hooks/post-update | server#:/var/www/html/conf.git# chmod a+x hooks/post-update | ||
| + | </code> | ||
| + | Не обязательно, но, если хочется видеть содержимое текущего репозитория по http, можно поправить hooks/post-update | ||
| + | <code> | ||
| server#:/var/www/html/conf.git# cat hooks/post-update | server#:/var/www/html/conf.git# cat hooks/post-update | ||
| </code> | </code> | ||
| Line 109: | Line 115: | ||
| server:~# chown -R student /var/www/html/conf.git/ | server:~# chown -R student /var/www/html/conf.git/ | ||
| </code> | </code> | ||
| + | |||
| + | * Обновление [[#Персонального http/ssh git репозитория]] | ||
| ===== Обновление сетевого репозитория из локального ===== | ===== Обновление сетевого репозитория из локального ===== | ||
| + | * [[https://dzen.ru/a/YufH0P_uAEpuxnPg|Работа с тегами Git: создание, удаление, использование]] | ||
| ==== On-Premise gitlab ==== | ==== On-Premise gitlab ==== | ||
| * [[https://stackoverflow.com/questions/6565357/git-push-requires-username-and-password|Git push requires username and password]] | * [[https://stackoverflow.com/questions/6565357/git-push-requires-username-and-password|Git push requires username and password]] | ||
| + | * [[https://stackoverflow.com/questions/5480258/how-can-i-delete-a-remote-tag|How can I delete a remote tag?]] | ||
| <code> | <code> | ||
| Line 120: | Line 130: | ||
| $ git remote remove origin | $ git remote remove origin | ||
| + | $ ### git remote rename origin old-origin | ||
| $ git remote add origin http://server.corpX.un/student/dhcp.git | $ git remote add origin http://server.corpX.un/student/dhcp.git | ||
| + | $ ### git remote add origin http://server.corpX.un:3000/student/dhcp.git | ||
| + | $ ### git remote add origin git@server.corpX.un:student/gowebd.git | ||
| $ git branch | $ git branch | ||
| + | |||
| + | $ ### git config --global http.sslVerify "false" | ||
| $ ### git config credential.helper store | $ ### git config credential.helper store | ||
| Line 130: | Line 145: | ||
| $ ### cat ~/.git-credentials | $ ### cat ~/.git-credentials | ||
| + | |||
| + | $ git tag ver1.2 | ||
| + | |||
| + | $ git push origin ver1.2 | ||
| + | |||
| + | $ git tag | ||
| + | |||
| + | $ ###git tag -d ver1.3 | ||
| + | $ ###git push --delete origin ver1.3 | ||
| </code> | </code> | ||
| Line 172: | Line 196: | ||
| <code> | <code> | ||
| # git clone http://server.corpX.un/student/dhcp.git | # git clone http://server.corpX.un/student/dhcp.git | ||
| + | |||
| + | или | ||
| + | |||
| + | # git clone http://server.corpX.un:3000/student/dhcp.git | ||
| или | или | ||
| Line 207: | Line 235: | ||
| ===== Работа с ветками ===== | ===== Работа с ветками ===== | ||
| + | * [[https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-locally-and-remotely|How do I delete a Git branch locally and remotely?]] | ||
| + | * [[https://stackoverflow.com/questions/10312521/how-do-i-fetch-all-git-branches|How do I fetch all Git branches?]] | ||
| ==== Пример с тестовой веткой ==== | ==== Пример с тестовой веткой ==== | ||
| <code> | <code> | ||
| Line 215: | Line 245: | ||
| λ git checkout test | λ git checkout test | ||
| - | ... edit ... commit ... | + | ... edit ... add ... commit ... | 
| λ git push origin test | λ git push origin test | ||
| Line 233: | Line 263: | ||
| λ git push -u origin main | λ git push -u origin main | ||
| + | λ git push -u origin master | ||
| ... ci/cd prod ... | ... ci/cd prod ... | ||
| + | |||
| + | λ git push -d origin test | ||
| + | λ git branch -d test | ||
| + | |||
| + | val@bro:~/conf$ git fetch --all | ||
| </code> | </code> | ||