User Tools

Site Tools


сервис_git

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
сервис_git [2022/06/17 19:33]
val
сервис_git [2023/09/14 15:26]
val [On-Premise gitlab]
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 55: Line 57:
  
 server:​~/​conf$ git diff <commit hash> file1  Изменения файла после этого коммита server:​~/​conf$ git diff <commit hash> file1  Изменения файла после этого коммита
 +
 +server:​~/​conf$ git diff <commit hash N> <commit hash M>
  
 server:​~/​conf$ git diff <commit hash N> <commit hash M> file1 server:​~/​conf$ git diff <commit hash N> <commit hash M> file1
Line 77: 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 88: 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 add origin http://172.16.1.13/student/project1.git+$ git remote -v 
 + 
 +$ 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:​3000/student/dhcp.git 
 +$ ### git remote add origin git@server.corpX.un:​student/​gowebd.git 
 + 
 +$ git branch 
 + 
 +$ ### git config credential.helper store
  
 $ git push origin master $ git push origin master
 +
 +$ ### cat ~/​.git-credentials
 +
 +$ git tag ver1.2
 +
 +$ git push origin ver1.2
 +
 +$ git tag
 </​code>​ </​code>​
  
Line 118: Line 151:
 </​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 150: Line 183:
 ==== On-Premise gitlab ==== ==== On-Premise gitlab ====
 <​code>​ <​code>​
-git clone http://172.16.1.13/student/project1.git+git clone http://server.corpX.un/student/dhcp.git 
 + 
 +  или 
 + 
 +student@gate:​~/​dhcp$ git pull origin master
 </​code>​ </​code>​
  
Line 160: Line 197:
 </​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 182: Line 219:
 ===== Работа с ветками ===== ===== Работа с ветками =====
  
 +  * [[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 ...
 +
 +λ git push -d origin test
 +λ git branch -d test
 +
 +val@bro:​~/​conf$ git fetch --all
 </​code>​ </​code>​
  
сервис_git.txt · Last modified: 2023/09/14 15:37 by val