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/08/14 18:09]
val [Создание сетевого http/ssh/git репозитория]
сервис_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 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 86: Line 88:
  
 server#:/​var/​www/​html/​conf.git#​ git init --bare server#:/​var/​www/​html/​conf.git#​ git init --bare
- 
-Не обязательно,​ но, если хочется видеть содержимое текущего репозитория по http, можно настроить hooks/​post-update !!! exec должна быть последняя команда 
  
 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>​+</​code>​ 
 +!!! exec должна быть последняя команда 
 +<​code>​
 ... ...
 #exec git update-server-info #exec git update-server-info
Line 105: Line 109:
 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 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 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 126: 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 158: Line 183:
 ==== 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 172: 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 194: 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