This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
сервис_git [2022/07/19 10:58] val [On-Premise gitlab] |
сервис_git [2023/05/11 14:53] val [Обновление сетевого репозитория из локального] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Сервис Git ====== | ====== Сервис Git ====== | ||
+ | |||
+ | * [[https://ru.wikipedia.org/wiki/Git|Git - Википедия]] | ||
* [[https://git-scm.com/book/ru/v2/|The entire Pro Git book (на русском)]] | * [[https://git-scm.com/book/ru/v2/|The entire Pro Git book (на русском)]] | ||
Line 9: | Line 11: | ||
* [[https://www.theserverside.com/feature/Why-GitHub-renamed-its-master-branch-to-main|Why GitHub renamed its master branch to main]] | * [[https://www.theserverside.com/feature/Why-GitHub-renamed-its-master-branch-to-main|Why GitHub renamed its master branch to main]] | ||
- | * [[https://youtu.be/SEvR78OhGtw|youtube/Артем Матяшов/Git. Большой практический выпуск]] | + | * [[https://youtu.be/SEvR78OhGtw|youtube/Артем Матяшов/Git. Большой практический выпуск (youtube)]] |
===== Работа с локальным репозиторием ===== | ===== Работа с локальным репозиторием ===== | ||
Line 79: | Line 81: | ||
</code> | </code> | ||
- | ===== Создание сетевого http/ssh/git репозитория ===== | + | ===== Создание сетевого http/ssh git репозитория ===== |
<code> | <code> | ||
server:~# mkdir /var/www/html/conf.git | server:~# mkdir /var/www/html/conf.git | ||
Line 90: | Line 92: | ||
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> | + | </code> |
+ | !!! exec должна быть последняя команда | ||
+ | <code> | ||
... | ... | ||
+ | #exec git update-server-info | ||
git update-server-info | git update-server-info | ||
rm -rf conf | rm -rf conf | ||
- | exec git clone http://server.corpX.un/conf.git | + | exec git clone http://server.corpX.un:81/conf.git |
</code><code> | </code><code> | ||
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]] | ||
+ | |||
<code> | <code> | ||
$ git remote -v | $ git remote -v | ||
+ | |||
+ | $ git remote remove origin | ||
$ git remote add origin http://server.corpX.un/student/dhcp.git | $ git remote add origin http://server.corpX.un/student/dhcp.git | ||
$ git branch | $ git branch | ||
+ | |||
+ | $ ### git config credential.helper store | ||
$ git push origin master | $ git push origin master | ||
+ | |||
+ | $ ### cat ~/.git-credentials | ||
+ | |||
+ | $ git tag ver03 | ||
+ | |||
+ | $ git push origin ver03 | ||
</code> | </code> | ||
Line 124: | Line 146: | ||
</code> | </code> | ||
- | ==== Использование персонального http/ssh/git репозитория ==== | + | ==== Персонального http/ssh git репозитория ==== |
<code> | <code> | ||
server:~/conf$ git remote add origin file:///var/www/html/conf.git | server:~/conf$ git remote add origin file:///var/www/html/conf.git | ||
Line 156: | Line 178: | ||
==== On-Premise gitlab ==== | ==== On-Premise gitlab ==== | ||
<code> | <code> | ||
- | $ git clone http://server.corp14.un/student/dhcp.git | + | # git clone http://server.corpX.un/student/dhcp.git |
или | или | ||
Line 170: | Line 192: | ||
</code> | </code> | ||
- | ==== Использование персонального http/ssh/git репозитория ==== | + | ==== Персонального http/ssh git репозитория ==== |
<code> | <code> | ||
- | gate.isp.un:~$ git clone http://server.corpX.un/conf.git | + | gate.isp.un:~$ git clone http://server.corpX.un:81/conf.git |
gate.isp.un:~$ cd conf/ | gate.isp.un:~$ cd conf/ | ||
Line 192: | Line 214: | ||
===== Работа с ветками ===== | ===== Работа с ветками ===== | ||
+ | * [[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> | ||
- | $ git branch test | + | λ git branch test |
- | $ git branch -a | + | λ git branch -a |
- | $ git checkout test | + | λ git checkout test |
- | ... edit ... commit ... | + | ... edit ... add ... commit ... |
- | $ git push -u origin test | + | λ git push origin test |
+ | root@server:~/openvpn1# git pull origin test | ||
+ | root@server:~/openvpn1# ansible-playbook ... test_nodes | ||
+ | или | ||
... ci/cd test ... | ... ci/cd test ... | ||
- | $ git checkout main | ||
- | $ git push -u origin main | + | λ git checkout main |
+ | λ git checkout master | ||
+ | |||
+ | λ git merge test | ||
+ | |||
+ | ... commit ... | ||
+ | |||
+ | λ git push -u origin main | ||
+ | λ git push -u origin master | ||
... ci/cd prod ... | ... ci/cd prod ... | ||
+ | |||
+ | |||
+ | val@bro:~/conf$ git fetch --all | ||
</code> | </code> | ||