-
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.4 Appendix C: Git Əmrləri - Branching və Birləşmə
Branching və Birləşmə
Git-də branching və birləşmə funksiyalarının çoxunu həyata keçirən bir neçə əmr var.
git branch
git branch
əmri əslində bir branch idarəetmə vasitəsidir.
Sahədəki branch-ların siyahısını verə bilər, yeni bir branch yarada, branch-ları silə və branch-ların adını dəyişə bilər.
Git’də Branch-nin çox hissəsi branch
əmrinə həsr olunmuşdur və bütün fəsildə istifadə olunur.
Əvvəlcə onu Təzə Branch Yaratmaq-də təqdim edirik və digər xüsusiyyətlərinin əksəriyyətindən (siyahı və silmə)Branch İdarəedilməsi-də keçirik.
İzləmə Branch-ları-də tracking branch qurmaq üçün git branch -u
seçimindən istifadə edirik.
Nəhayət, Git Referansları daxilində arxa planda gördüklərindən bir neçəsini keçirik.
git checkout
git checkout
əmri branch-ları dəyişdirmək və məzmunu iş qovluğunuza göndərmək üçün istifadə olunur.
İlk olaraq əmrlə Switching Branches-də git branch
əmri ilə qarşılaşırıq.
İzləmə Branch-ları içərisində --track
flag-ı ilə branch-ları izləməyə başlamaq üçün bundan necə istifadə edəcəyimizi görürük.
Bunu Konfliktləri Yoxlamaq içindəki --conflict=diff3
ilə fayl konfliktlərini yenidən tətbiq etmək üçün istifadə edirik.
Reset Demystified içərisindəki git reset
ilə əlaqəsini daha ətraflı təfərrüatlarına nəzər salırıq.
Nəhayət, HEAD-də bəzi tətbiq detallarına nəzər salırıq.
git merge
git merge
vasitəsi, bir və ya daha çox branch-ı yoxladığınız branch-a birləşdirmək üçün istifadə olunur.
Daha sonra mövcud branch-ı birləşmə nəticəsinə aparacaqdır.
git merge
əmri ilk dəfə Sadə Branching-də tətbiq edilmişdir.
Kitabın müxtəlif yerlərində istifadə olunmasına baxmayaraq, merge
əmrinin çox az dəyişikliyi var - ümumiyyətlə birləşdirmək istədiyiniz tək branch-ın adı ilə git merge <branch>
bəs edir.
Squashed birləşdirmənin necə ediləcəyini (Git işi birləşdirdiyi, ancaq birləşdiyiniz branch-ın tarixini qeyd etmədən yeni bir commit kimi göründüyünü) Forked Public Layihəsi sonunda necə izah etdik.
Birləşdirmə prosesi və əmri, o cümlədən -Xignore-space-change
əmri və bir problem birləşməsini ləğv etmək üçün --abort
flag-ı daxil olmaqla çox şeyi İnkişaf etmiş Birləşmə-də araşdırdıq.
Layihənizin Commit-ləri İmzalamaq-də GPG imzalamasından istifadə edirsə, birləşmədən əvvəl imzaların necə təsdiqlənəcəyini öyrəndik.
Nəhayət, Subtree Subtree Birləşdirməsi-də birləşməsini öyrəndik.
git mergetool
git mergetool
əmri, Git-də birləşmə ilə bağlı problemləriniz olması halında xarici birləşmə köməkçisini işə salır.
Bunu Əsas Birləşmə Konfiliktləri-də tez qeyd edirik və Xaricdən Birləşdirmə və Diff Vasitələri öz xarici birləşmə alətinizi necə tətbiq edəcəyiniz barədə ətraflı məlumat veririk.
git log
git log
əmri, son commit snapshot-dan bir layihənin əldə edilə bilən qeyd edilmiş tarixçəsini göstərmək üçün istifadə olunur.
Varsayılan olaraq yalnız hazırda olduğunuz branch-ın tarixçəsini göstərəcək, ancaq içindən keçmək üçün fərqli və ya hətta çoxlu head-lar və ya branch-lar verilə bilər.
Həm də commit səviyyəsində iki və ya daha çox branch arasındakı fərqləri göstərmək üçün tez-tez istifadə olunur.
Bu əmr kitabın təxminən hər fəslində bir layihənin tarixini göstərmək üçün istifadə olunur
Commit Tarixçəsinə Baxış bölümündə əmri təqdim edirik və bir qədər dərindən əhatə edirik.
Orada hər bir öcommit-də nələrin təqdim edildiyi barədə bir fikir əldə etmək üçün -p
və --stat
seçimlərinə və bəzi sadə tarix və müəllif filtrləmə seçimləri tarixə daha qısaca baxmaq üçün --pretty
və --oneline
seçimlərinə baxırıq.
Təzə Branch Yaratmaq-də branch göstəricilərimizin harada yerləşdiyini asanlıqla vizuallaşdırmaq üçün onu --decorate
seçimi ilə istifadə edirik və fərqli tarixlərin necə göründüyünü görmək üçün --graph
seçimindən də istifadə edirik.
Private Kiçik Komanda və Commit Aralıqları bölmələrində, commit-lərin başqa bir branch-a nəzərən bir branch-a unikal olduğunu görmək üçün git log
əmrini istifadə etmək üçün branchA...branchB
sintaksisini əhatə edirik.
Commit Aralıqları-də bu vəziyyəti olduqca geniş izah edirik.
Birləşdirmə Log-u və Üçqat Nöqtə-də nə olduğunu görmək üçün branchA...branchB
formatı və --left-right
sintaksisindən istifadə edirik ki, bu və ya digər branch-da, lakin hər ikisində deyil, nə baş verdiyini görək.
Birləşdirmə Log-u bölməsində birləşdirmə commit-ində olan konfliktlərə baxmaq üçün --cc
seçiminin yanında birləşdirmə konflikti debugging-nə kömək etmək üçün --merge
seçimindən necə istifadə edəcəyimizə də baxırıq.
RefLog Qısa Adları bölməsində keçid yerinə bu vasitə ilə Git reflog-una baxmaq üçün -g
seçimindən istifadə edirik.
Axtarış bölməsində bir funksiyanın tarixini görmək kimi kodda tarixən baş verən bir şey üçün kifayət qədər mürəkkəb axtarışlar aparmaq üçün -S
və -L
seçimlərindən istifadə etməyə baxırıq.
Commit-ləri İmzalamaq bölməsində git log
çıxışında hər bir commit-ə doğrulama sətri əlavə etmək üçün --show-signature
- etibarlı bir şəkildə imzalanmış olub olmadığına əsaslanaraq necə istifadə ediləcəyini görürük.
git stash
git stash
əmri branch-da bitməmiş iş görmədən iş qovluğunuzu təmizləmək üçün müvəqqəti olmayan işləri keçici olaraq saxlamaq üçün istifadə olunur.
Stashing və Təmizləmə-də bu əhatə olunub.
git tag
Kod tarixinin müəyyən bir nöqtəsinə qalıcı bir bookmark vermək üçün git tag
əmri istifadə olunur.
Ümumiyyətlə bu, relizlər kimi şeylər üçün istifadə olunur.
Bu əmr Etiketləmə-də ətraflı şəkildə təqdim olunur və Buraxılışlarınızı Etiketləmək tətbiq edilir.
Ayrıca, -s
flag-ı ilə bir GPG imzalı etiketin yaradılmasını və İşinizin İmzalanması içərisində -v
flag-ı ilə necə təsdiqlənəcəyini də əhatə edirik.