-
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
10.1 Git’in Daxili İşləri - Plumbing və Porcelain
Bu fəslə daha əvvəlki bir fəsildən keçib gəlmiş ola bilərsiz və ya bütün kitabı bu vaxta qədər ardıcıl oxuduqdan sonra buraya gəlmiş ola bilərsiz - hər iki halda da Git’in daxili işlərini və tətbiqini nəzərdən keçirəcəyik. Bu məlumatları başa düşməyin Git’in nə qədər faydalı və güclü olduğunu qiymətləndirmək üçün nə qədər vacib olduğunu gördük, lakin başqaları bunun yeni başlayanlar üçün qarışıq və lazımsız dərəcədə mürəkkəb ola biləcəyini iddia edirlər. Beləliklə, bu müzakirəni kitabdakı son fəsildə etdik ki, öyrənmə müddətində erkən və ya sonra oxuya biləsiniz. Qərar verməyi sizin ixtiyarınıza veririk.
İndi isə buradasınız, başlayaq. Birincisi, hələ aydın deyilsə, Git, üstündə bir VNS istifadəçi interfeysi ilə məzmunla əlaqəli bir fayl sistemidir. Bunun nə demək olduğunu bir azdan öyrənəcəksiniz.
Git’in ilk günlərində (əksərən əvvəl 1.5) istifadəçi interfeysi cilalanmış bir VNS əvəzinə bu fayl sistemini vurğuladığı üçün daha mürəkkəb idi. Son bir neçə ildə, istifadəçi interfeysi, orada olan hər hansı bir sistem qədər təmiz və istifadəsi asan olana qədər təmizləndi; Bununla birlikdə, stereotip mürəkkəb və öyrənilməsi çətin olan ilk Git UI ilə əlaqədardır.
Məzmunun ünvanlandığı fayl sistemi təbəqəsi qəribə dərəcədə cool-dur, buna görə əvvəlcə bu fəsildə əhatə edəcəyik; sonra nəqliyyat mexanizmləri və nəticədə həll edə biləcəyiniz deponun saxlanılması tapşırıqlarını öyrənəcəksiniz.
Plumbing və Porcelain
Bu kitab, ilk növbədə Git’i 30-a yaxın checkout
, branch
, remote
və s. kimi alt komanda ilə necə istifadə edəcəyimizi əhatə edir.
Ancaq Git əvvəlcə tam user-friendly bir VNS əvəzinə versiya nəzarət sistemi üçün bir vasitə dəsti olduğundan, aşağı səviyyəli iş görən və UNIX tərzində zəncirlənmək və ya skriptlərdən çağırılmaq üçün hazırlanmış bir sıra alt komanda var.
Bu əmrlərə ümumiyyətlə Git-in “plumbing” əmrləri deyilir, daha çox user-friendly əmrlərə isə “porcelain” əmrləri deyilir.
İndiyə qədər fərq etdiyiniz kimi bu kitabın ilk doqquz fəsli demək olar ki, yalnız porcelain əmrləri ilə əlaqədardır. Ancaq bu fəsildə əsasən aşağı səviyyəli plumbing əmrləri ilə məşğul olacaqsınız, çünki bunlar sizə Gitin daxili işlərinə giriş imkanı verir və Git-in necə və niyə etdiyini göstərməyə kömək edir. Bu əmrlərin əksəriyyəti əmr sətrində manual olaraq istifadə olunmaq üçün deyil, daha çox yeni alətlər və xüsusi skriptlər üçün bloklar kimi istifadə olunur.
Yeni və ya mövcud bir qovluqda git init
işlətdiyinizdə Git Gitin saxladığı və idarə etdiyi hər şeyin yerləşdiyi .git
qovluğunu yaradır.
Deponuzun back up-nı çıxarmaq və ya klonlamaq istəyirsinizsə, bu tək qovluğu başqa yerə kopyalamaq sizə lazım olan hər şeyi verir.
Bu fəslin hamısı, əsasən bu qovluqda görə biləcəyiniz şeylərdən bəhs edir.
Yeni başlatılmış .git
qovluğunun adətən belə görünür:
$ ls -F1
config
description
HEAD
hooks/
info/
objects/
refs/
Git versiyanızdan asılı olaraq orada bir neçə əlavə məzmun görə bilərsiniz, ancaq bu təzə bir git init
deposudur - varsayılan olaraq gördüyünüz budur.
Description
faylı yalnız GitWeb proqramı tərəfindən istifadə olunur, buna görə narahat olmayın.
Config
faylı proyektə xüsusi konfiqurasiya seçimlərinizi ehtiva edir və info
qovluğu ``.gitignore` faylında izləmək istəmədiyiniz ignored pattern-lər üçün qlobal bir xaric sənədini (excludes saxlayır.
hooks
qovluğu, Git Hook’ları bölməsində ətraflı müzakirə olunan müştəri və ya server tərəfindəki hook skriptlərinizi ehtiva edir.
Bu dörd vacib giriş buraxır: HEAD
və (hələ yaradılmayacaq) index
faylları və object
və refs
qovluqları.
Bunlar Gitin əsas hissələridir.
Object
qovluğu verilənlər bazanızdakı bütün məzmunu, refs
qovluğu göstəriciləri həmin məlumatdakı obyektləri (branch-lar, etiketlər, remote-lar və daha çox) saxlayır, HEAD
faylı hazırda yoxladığınız branch-ı göstərir və index
faylı Git-in səhnələşdirmə sahəsi məlumatlarınızı saxladığı yerdir.
İndi Git’in necə işlədiyini görmək üçün bu hissələrin hər birinə ətraflı baxacaqsınız.