-
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
2.1 Git’in Əsasları - Git Deposunun Əldə Edilməsi
Git ilə dəvam edə bilmək üçün yalnız bir fəsil oxuya bilsəniz, o bu fəsildir. Bu fəsildə vaxtınızı Git ilə birlikdə keçirməyə sərf edəcəyiniz işlərin böyük əksəriyyətini yerinə yetirmək üçün lazım olan hər bir əsas əmri əhatə edir. Fəslin sonuna qədər bir deponu konfiqurasiya edə və işə sala, faylları izləməyə başlamağı və dayandırmağı, dəyişiklikləri səhnələşdirməyi və commit etməyi bacarmalısız. Bəzi faylları və fayl nümunələrini ignore etmək üçün Git’i necə quracağınızı, səhvləri necə tez və asanlıqla necə geri qaytaracağımızı, layihənizin tarixçəsinə necə baxacağınızı və commit’lər arasındakı dəyişiklikləri necə görəcəyinizi və remote depo’lardan necə push və pull edə biləcyinizi göstərəcəyik.
Git Deposunun Əldə Edilməsi
Siz adətən 2 yoldan biri ilə Git deposunu əldə edirsiniz bunlar aşağıdakılardır; 1. Hal-hazırda versiya nəzarəti altında olmayan bir lokal qovluğu götürə və beləliklə də Git deposuna çevirə bilərsiniz. 2. Mövcud olan Git deposunu başqa bir yerdən klonlaşdıra bilərsiniz. Hər iki halda da Git deposu ilə işə hazırsınız.
Mövcud Bir Qovluqda Deponu İşə Salma
Hal-hazırda versiya nəzarəti altında olmayan bir layihə qovluğunuz varsa və onu Git ilə idarə etməyə başlamaq istəyirsinizsə, əvvəlcə bu layihənin qovluğuna getməlisiniz.Əgər bunu heç etməmisinizsə, işlədiyiniz sistemdən asılı olaraq biraz fərqli görünə bilər:
for Linux:
$ cd /home/user/my_project
for macOS:
$ cd /Users/user/my_project
for Windows:
$ cd C:/Users/user/my_project
və növü:
$ git init
Bu, bütün zəruri depo sənədlərinizi – Git depo skeletini saxlayan .git
adlı yeni bir alt bölmə yaradır. Bu anda layihənizdə heç bir şey hələ izlənilməyib. ( Yeni yaratdığınız .git
qovluğunda tam olaraq hansı sənədlərin olduğu barədə daha çox məlumat əldə etmək üçün Git’in Daxili İşləri-a baxın)
Mövcud faylları (boş qovluqdan fərqli olaraq) idarə edən versiyaya başlamaq istəyirsinizsə, ilk olaraq, həmin faylları izləməyə başlamalısınız. Bunu baxmaq istədiyiniz faylları bir neçə git əmrini əlavə etməklə yerinə yetirə bilərsiniz.
Bunu izləmək istədiyiniz faylları təyin edən bir neçə git add
əmrləri ilə yerinə yetirə bilərsiniz:
$ git add *.c
$ git add LICENSE
$ git commit -m 'Initial project version'
Bütün bu əmrlərin bir dəqiqədə nələr etdiyinin üzərindən keçəcəyik. Bu anda, sizin izlənilən fayllardan ibarət git deponuz və ilkin commit’iniz var.
Mövcud Deponu Klonlaşdırmaq
Əvvəlcədən mövcud olan git deposunun kopyasını əldə etmək istəyirsinizsə, məsələn hansısa proyektə töhfə verəcəksinizsə, ehtiyacınız olan əmr git clone
-dur. Subversion kimi digər VNS sistemləri ilə tanış olsanız, əmrin "klon" olduğunu və "yoxlama" olmadığını görəcəksiniz. Bu vacib bir fərqdir ki - Git sadəcə işləyək olan bir kopyanı əldə etmək əvəzinə, serverdə olan bütün məlumatların tam surətini alır. Siz git clone
əmrini işlətdiyinizdə proyektin tarixindəki hər bir faylın hər bir versiyasını default olaraq yükləmiş olursunuz. Fakt budur ki, server diskləriniz pozulsa, adətən yaxın olan hər hansı klonu hər hansı müştəridə istifadə edib serveri klonlandığı vəziyyətinə geri qaytara bilərsiniz. (Ola bilər ki bəzi server-side-hook kimi şeyləri itirəsiniz lakin versiyalanmış bütün məlumatlar orada olacaq.- əlavə məlumat üçün Serverə Serverdə Git Əldə Etmək yüklənilməsinə baxın)
git clone <url>
ilə bir depo klonlayın. Məsələn, libgit2
adlı Git əlaqəli kitabxananı klonlaşdırmaq istəyirsinizsə, bunu edə bilərsiniz:
$ git clone https://github.com/libgit2/libgit2
libgit2
adlı qovluq yaradılır, içərisindəki .git
qovluğluğu işə salınır, həmin deponun bütün məlumatları yüklənir və son olaraq qeyd olunmuş kopya yoxlanılır. Yenicə yaradılan yeni libgit2
qovluğuna daxil olsanız, orada işləyən və istifadəyə hazır olan layihə sənədlərini görəcəksiniz. Deponu libgit2
-dən başqa bir qovluğun içinə klonlaşdırmaq istəyirsinizsə, yeni bir qovluq adını əlavə bir arqument olaraq təyin edə bilərsiniz;
$ git clone https://github.com/libgit2/libgit2 mylibgit
Bu əmr əvvəlki ilə eyni şeyi edir, lakin hədəf qovluğu mylibgit
adlanır.
Git istifadə edə biləcəyiniz bir sıra müxtəlif ötürmə protokollarına malikdir. Əvvəlki nümunədə https://
protokolu istifadə olunur, ancaq SSH ötürmə protokolundan istifadə edən git://
və ya user@server:path/to/repo.git
görə bilərsiniz. Serverdə Git Əldə Etmək-də, Git depolarınıza və hər birinin üstünlük və əksikliklərinə daxil olmaq üçün qura biləcəyiniz bütün mümkün seçimləri təqdim edəcəkdir.