-
1. BaÅlanÄıc
- 1.1 Versiyaya NÉzarÉt Haqqında
- 1.2 Gitāin Qısa HekayÉsi
- 1.3 Git NÉdir?
- 1.4 Ęmr SÉtiri
- 1.5 Gitāi QuraÅdırmaq
- 1.6 İlk DÉfÉ Git QuraÅdırması
- 1.7 KƶmÉk Almaq
- 1.8 Qısa MÉzmun
-
2. Gitāin Ęsasları
-
3. GitādÉ Branch
-
4. ServerādÉ Git
- 4.1 Protokollar
- 4.2 ServerdÉ Git ĘldÉ EtmÉk
- 4.3 Sizin ƶz SSH Public Keyānizi yaratmaq
- 4.4 Server qurmaq
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Ćçüncü TÉrÉf SeƧimlÉri
- 4.10 Qısa MÉzmun
-
5. PaylanmıŠGit
-
6. GitHub
-
7. Git AlÉtlÉri
- 7.1 Reviziya SeƧimi
- 7.2 Interaktiv SÉhnÉlÉÅdirmÉ
- 7.3 Stashing vÉ TÉmizlÉmÉ
- 7.4 İÅinizin İmzalanması
- 7.5 AxtarıÅ
- 7.6 Tarixi YenidÉn Yazmaq
- 7.7 Reset Demystified
- 7.8 İnkiÅaf etmiÅ BirlÉÅmÉ
- 7.9 Rerere
- 7.10 Git ilÉ Debugging
- 7.11 Alt Modullar
- 7.12 Bundling
- 7.13 DÉyiÅdirmÉk
- 7.14 Etibarlı YaddaÅ
- 7.15 Qısa MÉzmun
-
8. Gitāi FÉrdilÉÅdirmÉk
-
9. Git vÉ DigÉr SistemlÉr
- 9.1 Git MüÅtÉri kimi
- 9.2 GitāÉ Miqrasiya
- 9.3 Qısa MÉzmun
-
10. Gitāin Daxili İÅlÉri
- 10.1 Plumbing vÉ Porcelain
- 10.2 Git ObyektlÉri
- 10.3 Git Referansları
- 10.4 Packfileālar
- 10.5 Refspec
- 10.6 Transfer Protokolları
- 10.7 Maintenance vÉ MÉlumatların BÉrpası
- 10.8 Mühit DÉyiÅÉnlÉri
- 10.9 Qısa MÉzmun
-
A1. Appendix A: DigÉr MühitlÉrdÉ Git
- A1.1 Qrafik interfeyslÉr
- A1.2 Visual Studioāda Git
- A1.3 Visual Studio Codeāda Git
- A1.4 EclipseādÉ Git
- A1.5 Sublime TextādÉ Git
- A1.6 Bashāda Git
- A1.7 ZshādÉ Git
- A1.8 PowerShellādÉ Git
- A1.9 Qısa MÉzmun
-
A2. Appendix B: Proqramlara Git Daxil EtmÉk
- A2.1 Ęmr-sÉtri Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Appendix C: Git ĘmrlÉri
- A3.1 QuraÅdırma vÉ Konfiqurasiya
- A3.2 LayihÉlÉrin Alınması vÉ Yaradılması
- A3.3 SadÉ Snapshotting
- A3.4 Branching vÉ BirlÉÅmÉ
- A3.5 LayihÉlÉrin PaylaÅılması vÉ YenilÉnmÉsi
- A3.6 Yoxlama vÉ MüqayisÉ
- A3.7 Debugging
- A3.8 Patching
- A3.9 E-poƧt
- A3.10 Xarici SistemlÉr
- A3.11 İdarÉetmÉ
- A3.12 Plumbing ĘmrlÉri
4.5 ServerādÉ Git - Git Daemon
Git Daemon
Daha sonra biz āGitā protokolundan istifadÉ edÉrÉk daemon xidmÉti gƶstÉrÉn depolar quracaÄıq. Bu sizin Git datanıza girmÉk üçün sürÉtli tÉsdiqlÉnmÉmiÅ yoldur. Yadda saxlayın ki, bu tÉsdiqlÉnmÉmiÅ servis olduÄu üçün bu protokol üzÉrindÉn xidmÉt etdiyiniz hÉr Åey onun ÅÉbÉkÉsindÉ publikdir. ĘgÉr siz bunu tÉhlükÉsizlik divarınızdan kÉnarda edirsinizsÉ, onda bu mütlÉq dünyaya gƶrünÉn proyektlÉr üçün istifadÉ olunmalıdır. Lakin ÉgÉr bu serveri tÉhlükÉsizlik divarınızdan iƧÉridÉ edirsinizsÉ, onu bir Ƨox read-only giriÅi olan insanlar vÉ kompyuterlÉr (davamlı inteqrasiya vÉ ya tikinti servisi) üçün SSH key istifadÉ etmÉk istÉmÉyÉndÉ istifadÉ edÉ bilÉrsiniz. HÉr ÅÉkildÉ Git protokolu quraÅdırılması Ƨox asandır. SadÉcÉ olaraq siz bu commandı demonized mannerdÉ qoÅmalısınız:
$ git daemon --reuseaddr --base-path=/srv/git/ /srv/git/
--base-path
seƧimi insanlara bütün pathāi dÉqiqlÉÅdirmÉdÉn proyektlÉri klonlamaÄa imkan verir vÉ sonda path Git daemonāa ixrac edilmÉli depoları harada axtarmalı olduÄunu deyÉrkÉn, --reuseaddr
seƧimi isÉ serverin kƶhnÉ ÉlaqÉnin vaxtının bitmÉsini gƶzlÉmÉdÉn yenilÉnmÉsinÉ icazÉ verir. ĘgÉr siz tÉhlükÉsizlik divarı iÅlÉdirsinizsÉ, siz hÉmƧinin qoÅduÄunuz qutudakı 9418 portāunda dÉlik aƧmalısınız.
Siz bu prosesi iÅlÉtdiyiniz ÉmÉliyyat sistemindÉn asılı olaraq bir neĆ§É yolla daemonize edÉ bilÉrsiniz.
systemd
müasir Linux distribyutorlarında Én ümumi sistem olduÄu üçün siz onu bu mÉqsÉdlÉ istifadÉ edÉ bilÉrsiniz. Asanlıqla faylı aÅaÄıdakı mÉzmunla /etc/systemd/system/git-daemon.service
daxil edin.
[Unit]
Description=Start Git Daemon
[Service]
ExecStart=/usr/bin/git daemon --reuseaddr --base-path=/srv/git/ /srv/git/
Restart=always
RestartSec=500ms
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=git-daemon
User=git
Group=git
[Install]
WantedBy=multi-user.target
Fikir versÉniz burada Git daemon hÉm istifadÉƧi, hÉm dÉ qrup üçün git
ilÉ baÅlayır. Onu sizÉ lazım olduÄu kimi dÉyiÅdirin vÉ Émin olun ki, tÉmin olunan istifadÉƧi (provided user) sistemdÉ mƶvcuddur. Eyni zamanda, /usr/bin/git
dÉ yerlÉÅÉn Git binaryāni yoxlayın vÉ ÉgÉr ehtiyac varsa pathāi dÉyiÅdirin.
Son olaraq, ƶn yüklÉmÉdÉki servisi (service on boot) avtomatik baÅlatmaq üçün systemctl enable git-daemon
-u vÉ ayrılıqda servisi baÅlatmaq vÉ dayandırmaq üçün systemctl start git-daemon
vÉ systemctl stop git-daemon
-u qoÅacaqsınız.
DigÉr sistemlÉrdÉ siz hÉmƧinin sizin sysvinit
sisteminizdÉki xinetd
sÉnÉdini (script) vÉ ya baÅqa - aldıÄınız Émr demonized olduÄu vÉ ya baxıldıÄı müddÉtcÉ - istifadÉ edÉ bilÉrsiniz.
Daha sonra, GitāÉ hansı depoların Git server bazasına tÉsdiqlÉnmÉmiÅ giriÅinÉ icazÉ verildiyini demÉlisiniz. Bunu hÉr depoda git-daemon-export-ok
adlı fayl yaradaraq edÉ bilÉrsiniz.
$ cd /path/to/project.git
$ touch git-daemon-export-ok
HÉmin faylın mƶvcud olması GitāÉ bu proyektin tÉsdiqlÉnmÉdÉn xidmÉt edilmÉsinin mümkün olduÄunu deyir.