-
1. Başlangıç
- 1.1 Sürüm Denetimi
- 1.2 Git’in Kısa Tarihçesi
- 1.3 Git Nedir?
- 1.4 Komut Satırı
- 1.5 Git’i Yüklemek
- 1.6 Git’i İlk Defa Kurmak
- 1.7 Yardım Almak
- 1.8 Özet
-
2. Git Basics
-
3. Git Branching
- 3.1 Dallar
- 3.2 Kısaca Dallandırma ve Birleştirme Temelleri
- 3.3 Dal Yönetimi
- 3.4 İş Akışı Dallandırması
- 3.5 Uzak Dallar
- 3.6 Yeniden Temelleme (rebase)
- 3.7 Summary
-
4. Git on the Server
- 4.1 İletişim Kuralları (Protocols)
- 4.2 Bir Sunucuda Git Kurma
- 4.3 SSH Ortak Anahtarınızı Oluşturma
- 4.4 Sunucu Kurma
- 4.5 Git Cini (Daemon)
- 4.6 Akıllı HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Üçüncü Taraf Barındırma (Hosting) Seçenekleri
- 4.10 Summary
-
5. Distributed Git
- 5.1 Dağıtık İş Akışları
- 5.2 Projenin Gelişiminde Rol Almak
- 5.3 Bir Projeyi Yürütme
- 5.4 Summary
-
6. GitHub
-
7. Git Tools
- 7.1 Düzeltme Seçimi
- 7.2 Etkileşimli İzlemleme (Staging)
- 7.3 Saklama ve Silme
- 7.4 Çalışmanızı İmzalama
- 7.5 Arama
- 7.6 Geçmişi Yeniden Yazma
- 7.7 Reset Komutunun Gizemleri
- 7.8 İleri Seviye Birleştirme
- 7.9 Rerere
- 7.10 Git’le Hata Ayıklama
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Summary
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. Ek bölüm A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in Eclipse
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Summary
-
A2. Ek bölüm B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Ek bölüm C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
3.3 Git Branching - Dal Yönetimi
Dal Yönetimi
Şu ana kadar birkaç dal oluşturduk, birleştirdik ve sildik. Şimdi de sürekli olarak dalları kullanmaya başladığınızda işinize yarayacak bazı dal yönetimi araçlarına bakalım.
git branch
komutu, sadece dallar oluşturmak ve silmekle kalmaz.
Eğer hiç argüman vermeden çalıştırırsanız, mevcut dallarınızın basit bir listesini de elde edersiniz:
$ git branch
iss53
* master
testing
master
dalının önünde yer alan *
karakterine dikkat edin: bu, şu anda üzerinde çalıştığını (yani, HEAD
'in işaret ettiği) dalı gösterir.
Bu, eğer şimdi bir katkı işlerseniz master
dalının yeni çalışmanızla birlikte ileri taşınacağı anlamına gelir.
Her bir dalın son katkısını görmek için git branch -v
komutunu çalıştırabilirsiniz:
$ git branch -v
iss53 93b412c fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmes
Kullanışlı --merged
ve --no-merged
seçenekleri bu listeyi, şu anda üzerinde bulunduğunuz dala zaten birleştirdiğiniz veya henüz birleştirmediğiniz dallara filtreleyebilir.
Şu anda üzerinde bulunduğunuz dal içine zaten birleştirilmiş olan dalları görmek için git branch --merged
komutunu çalıştırabilirsiniz:
$ git branch --merged
iss53
* master
Daha önce iss53
dalını zaten birleştirdiğiniz için, bu dalı listenizde görüyorsunuz.
Bu listede yer alıp önünde *
olmayan dalları git branch -d
ile silmek genellikle güvenlidir.
Çünkü zaten bu dallardaki çalışmayı başka bir dala dahil ettiniz ve onları silmek veri kaybına yol açmayacak.
Henüz birleştirmediğiniz bir çalışmayı içeren tüm dalları görmek için git branch --no-merged
komutunu çalıştırabilirsiniz:
$ git branch --no-merged
testing
Bu son komut başka bir dalınızı gösteriyor.
Henüz birleştirilmemiş bir çalışmayı içerdiği için git branch -d
ile silmeye çalışmak başarısız olacaktır:
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.
Eğer gerçekten de dalı silmek ve bu çalışmayı kaybetmek istiyorsanız, yardımcı mesajda belirtildiği gibi Git’i -D
bayrağıyla dalı silmeye zorlayabilirsiniz.
Eğer bir katkı veya dal adı verilmezse, yukarıda açıklanan seçenekler, sırasıyla şu anki dala (--merged
kullanılırsa) birleştirilmiş veya (--no-merged
kullanılırsa) birleştirilmemiş olan dalları gösterir.
Dilediğiniz zaman, sadece ek bir argüman girerek, başka bir dala geçiş yapmaksızın o dalın birleştirme durumu hakkında sorgu yazabilirsiniz. Örneğin master
dala neler birleştirilmemiş gibi:
$ git checkout testing
$ git branch --no-merged master
topicA
featureB