server:~$ mkdir conf server:~$ cd conf/ server:~/conf$ echo Hello World > file1 server:~/conf$ mkdir dir1 server:~/conf$ echo Hello World 2 > dir1/file2 server:~/conf$ git init server:~/conf$ git add . server:~/conf$ git status server:~/conf$ git config --global user.email "student@corpX.un" server:~/conf$ git config --global user.name "FIO" server:~/conf$ git commit -a -m 'ver: 1.1' server:~/conf$ echo Hello World 3 > file1 server:~/conf$ git status server:~/conf$ git add -v . server:~/conf$ git --no-optional-locks status | grep 'modified\|deleted\|new file\|renamed' | git commit -a -F - server:~/conf$ git log server:~/conf$ git log --follow -- file1 В каких коммитах менялся файл server:~/conf$ git show <commit hash> Все изменения файлов в этом коммите по server:~/conf$ git show <commit hash>:file1 Содержимое файла в этом коммите server:~/conf$ git show <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 reset --hard <commit hash N>
# cat /etc/cron.daily/my-git-etc
#!/bin/sh for d in /etc/ /root/ do cd $d [ -d $d/.git ] || git init > /dev/null git add . git --no-optional-locks status | grep 'modified\|deleted\|new file\|renamed' | git commit -a -F - > /dev/null done exit 0
server:~# mkdir /var/www/html/conf.git server:~# cd /var/www/html/conf.git server#:/var/www/html/conf.git# git init --bare 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
Не обязательно, но, если хочется видеть содержимое текущего репозитория по http, можно поправить hooks/post-update
server#:/var/www/html/conf.git# cat hooks/post-update
!!! exec должна быть последняя команда
... #exec git update-server-info git update-server-info rm -rf conf exec git clone http://server.corpX.un:81/conf.git
server:~# chown -R student /var/www/html/conf.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 $ ### cat ~/.git-credentials $ git tag ver1.2 $ git push origin ver1.2 $ git tag
gate:~/zabbix_dhcp_pools$ git remote add origin https://github.com/valbmsturu/zabbix_dhcp_pools.git gate:~/zabbix_dhcp_pools$ git push -u origin master
server:~/conf$ git remote add origin file:///var/www/html/conf.git server:~/conf$ git remote -v server:~/conf$ git remote rm origin server:~/conf$ git remote add origin ssh://student@server.corpX.un/var/www/html/conf.git server:~/conf$ git push origin master server:~/conf$ echo Hello World 4 > dir1/file2 server:~/conf$ git status server:~/conf$ git add -v . server:~/conf$ git commit -a -m 'ver: 1.3' server:~/conf$ git push origin master
~/conf# val$ cat readme.txt
# git clone http://server.corpX.un/student/dhcp.git или # git clone http://server.corpX.un:3000/student/dhcp.git или student@gate:~/dhcp$ git pull origin master
# git clone https://github.com/valbmsturu/zabbix_dhcp_pools.git ...
gate.isp.un:~$ git clone http://server.corpX.un:81/conf.git gate.isp.un:~$ cd conf/ gate.isp.un:~/conf$ less dir1/file2 gate.isp.un:~/conf$ git pull origin master gate.isp.un:~/conf$ less dir1/file2
$ git clone http://val.bmstu.ru/unix/conf.git ...
λ git branch test λ git branch -a λ git checkout test ... edit ... add ... commit ... λ git push origin test root@server:~/openvpn1# git pull origin test root@server:~/openvpn1# ansible-playbook ... test_nodes или ... ci/cd test ... λ git checkout main λ git checkout master λ git merge test ... commit ... λ git push -u origin main λ git push -u origin master ... ci/cd prod ... λ git push -d origin test λ git branch -d test val@bro:~/conf$ git fetch --all
# dpkg -l | grep mediawiki ii mediawiki 1:1.31... ... # cd /var/lib/mediawiki/extensions/ # git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/UserMerge # cd UserMerge/ # git branch -r # git checkout REL1_31