-
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
A3.5 Appendix C: Git Əmrləri - Layihələrin Paylaşılması və Yenilənməsi
Layihələrin Paylaşılması və Yenilənməsi
Git-də şəbəkəyə daxil olan çox sayda əmr yoxdur, əmrlərin hamısı yerli verilənlər bazasında işləyir. İşlərinizi bölüşməyə və ya başqa bir yerdən dəyişikliklər etməyə hazır olduğunuzda, remote depolarla əlaqəli bir neçə əmr var.
git fetch
git fetch
əmri remote bir depo ilə əlaqə qurur və mövcud depoda olmayan bütün məlumatları toplayır və yerli verilənlər bazasında saxlayır.
Əvvəlcə bu əmrə Uzaqdan Fetching və Pulling bölümündə baxırıq və Uzaq Branch’lar-də istifadəsi nümunələrini görməyə davam edirik.
Bunu həmçinin Layihəyə Töhfə vermək misallarından bir neçəsində də istifadə edirik.
Bunu Pull Request Referləri içindəki standart boşluğun xaricində olan tək bir spesifik istinad almaq üçün istifadə edirik və Bundling içindəki bir paketdən necə götürüləcəyini görürük.
git fetch
-in Refspec-də varsayılandan bir az fərqli bir şey etməsini təmin etmək üçün yüksək dərəcədə xüsusi refspecs quraşdırdıq.
git pull
git pull
əmri, əsasən Git-in təyin etdiyiniz məsafədən alacağı və sonra dərhal olduğunuz branch-a birləşdirməyə çalışacağı git fetch
və git merge
əmrlərinin birləşməsidir.
Bunu Uzaqdan Fetching və Pulling-də tez bir zamanda təqdim edirik və Uzaqdan Yoxlama-də işə saldığınız zaman nəyin necə birləşəcəyini göstərəcəyik.
Rebase etdiyiniz zaman yenidən yazın-də rebasing çətinliklərinə kömək etmək üçün necə istifadə edəcəyimizi də görürük.
Uzaq Branch’ları Yoxlamaq-də birdəfəlik dəyişikliklər etmək üçün URL ilə necə istifadə edəcəyimizi göstəririk.
Nəhayət, çəkdiyiniz commit-lərin Commit-ləri İmzalamaq daxilində imzalanmış GPG olduğunu təsdiqləmək üçün ona --verify-signatures
seçimini istifadə edə biləcəyinizi çox tez qeyd edirik.
git push
git push
əmri, başqa bir depo ilə əlaqə qurmaq, yerli verilənlər bazanızın remote olmayan birinin nə olduğunu hesablamaq və sonra fərqi digər depoya köçürmək üçün istifadə olunur.
Digər depolara yazılı giriş tələb edir və buna görə normal bir şəkildə təsdiqlənir.
Əvvəlcə Uzaqdan Pushing etmək-də git push
əmrinə baxırıq.
Burada bir branch-ı remote bir depoya push etməyin əsaslarını əhatə edirik.
Pushing (İtələmə)-də müəyyən branch-ları pushing etməyə bir az daha dərindən gedirik və İzləmə Branch-ları-də izləmə branch-larını avtomatik olaraq push etmək üçün necə quracağımızı görürük.
Uzaq Branch-ların Silinməsi -də serverdəki bir branch-ı git push` ilə silmək üçün --delete
flag-ından istifadə edirik.
Layihəyə Töhfə vermək boyunca, branch-larda işi birdən çox məsafədən bölüşmək üçün git push
istifadə etmək üçün bir neçə nümunəyə baxırıq.
Etiketləri Paylaşmaq bölməsində --tags
seçimi ilə etdiyiniz etiketləri bölüşmək üçün necə istifadə edəcəyimizi görürük.
Submodul Dəyişikliklərini Yayımlamaq-də, submodullardan istifadə edərkən həqiqətən faydalı ola biləcək superproject-dən əvvəl bütün submodullarımızın işinin dərc olunduğunu yoxlamaq üçün --recurse-submodules
seçimini istifadə edirik.
Başqa Müştəri Hook’ları -də bir push etmə başa çatmadan çalışdıra biləcəyimiz bir ssenari olan pre-push
hook-undan bəhs etməliyik.
Nəhayət, Pushing Refspecs-də normal istifadə olunan ümumi qısayollar əvəzinə tam refspec ilə push etməyə baxırıq. Bu, bölüşmək istədiyiniz işi dəqiqləşdirməyə kömək edə bilər.
git remote
git remote
əmri, remote depolarınızı qeyd etmək üçün bir idarəetmə vasitəsidir.
Uzun URL’ləri “origin” kimi qısa tutacaq kimi saxlamağa imkan verir, beləcə, onları daima yazmağa ehtiyac qalmaz.
Bunlardan bir neçəsinə sahib ola bilərsiniz və bunları əlavə etmək, dəyişdirmək və silmək üçün git remote
əmri istifadə olunur.
Bu əmr, Uzaqdan İşləmək-də siyahıya daxil olmaq, əlavə edilməsi, silinməsi və adlandırılması da daxil olmaqla ətraflı şəkildə verilmişdir.
Kitabdakı təqribən hər sonrakı fəsildə də istifadə olunur, lakin həmişə standart git remote add <name> <url>
formatındadır.
git archive
git archive
əmri, layihənin müəyyən bir snapshot-nun arxiv sənədini yaratmaq üçün istifadə olunur.
Buraxılış Hazırlamaq bölüşmək üçün bir layihənin tarball-unu yaratmaq üçün git archive
istifadə edirik.
git submodule
git submodule
əmri normal depolar içərisində xarici depoları idarə etmək üçün istifadə olunur.
Bu kitabxanalar və ya digər paylaşılan mənbələr üçün ola bilər.
submodule
əmrində bu qaynaqları idarə etmək üçün bir neçə alt əmr var (add
, update
, sync
və s.).
Bu əmr yalnız Alt Modullar-də qeyd olunur və tamamilə əhatə olunur.