Git
Chapters ▾ 2nd Edition

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
scroll-to-top