-
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
- 3.1 Nutshell’də Branch’lar
- 3.2 Sadə Branching və Birləşdirmə
- 3.3 Branch İdarəedilməsi
- 3.4 Branching İş Axınları
- 3.5 Uzaq Branch’lar
- 3.6 Rebasing
- 3.7 Qısa Məzmun
-
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
- 8.1 Git Konfiqurasiyası
- 8.2 Git Atributları
- 8.3 Git Hook’ları
- 8.4 Git-Enforced Siyasət Nümunəsi
- 8.5 Qısa Məzmun
-
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.