Git'te Dal (Branch) Nedir?
Git'te dal (branch), projenin ana çizgisini bozmadan yeni bir özellik ya da düzeltme üzerinde çalışmayı sağlayan ayrı bir geliştirme koludur. İş bitince dal ana çizgiye birleştirilir.
Bir projede çalışırken yeni bir özellik denemek istediğini düşün. Ana koda doğrudan dokunursan, deneme yarım kalırsa çalışan proje de bozulur. Git bu sorunu dallarla (branch) çözer.
Dal ne işe yarar?
Dal, projenin bir noktadan ayrılan bağımsız bir çalışma koludur. Dalda yaptığın değişiklikler, sen birleştirene kadar ana çizgiyi etkilemez.
- Ana dal çoğu projede
main(eski projelerdemaster) adını taşır ve çalışan sürümü tutar. - Her yeni özellik ya da düzeltme için ayrı bir dal açılır.
Temel komutlar
# Yeni dal oluşturup ona geç
git switch -c sepet-ozelligi
# Dalları listele
git branch
# Ana dala geri dön
git switch main
# Dalı ana dala birleştir
git merge sepet-ozelligi
# Artık gerekmeyen dalı sil
git branch -d sepet-ozelligi
(Eski kaynaklarda dal değiştirmek için git checkout komutunu da görebilirsin.)
Birleştirme (merge) ve çakışma
Daldaki iş bitince ana dala birleştirilir. Aynı dosyanın aynı satırı iki dalda farklı değiştirilmişse Git hangisinin doğru olduğunu bilemez ve çakışma (conflict) bildirir. Bu durumda dosyayı açıp hangi değişikliğin kalacağına sen karar verirsin, sonra birleştirmeyi tamamlarsın.
İyi alışkanlıklar
- Dalları kısa ömürlü tut: bir dal ne kadar uzun yaşarsa ana daldan o kadar uzaklaşır, birleştirmek zorlaşır.
- Anlamlı adlar ver:
deneme2yerineodeme-sayfasiya dagiris-hatasi-duzeltmegibi. - Ana dalı her zaman çalışır tut: yarım iş ana dala girmez.
- Ekip çalışmasında birleştirmeden önce değişiklikler bir başkası tarafından gözden geçirilir (kod incelemesi).
Dallar, "ya bozarsam" korkusu olmadan denemeyi mümkün kılar: kötü giden bir deneme, dalı silmekle biter.
İlgili Makaleler
İşletim Sistemi Nedir?
İşletim sistemi, donanım ile uygulamalar arasında köprü kuran ve bilgisayarın kaynaklarını yöneten temel yazılımdır.
Veritabanı Nedir?
Veritabanı, verilerin düzenli biçimde saklandığı, hızlıca sorgulanıp güncellenebildiği yapılandırılmış bir depolama sistemidir.
Açık Kaynak Yazılım Nedir?
Açık kaynak, kaynak kodu herkese açık olan; incelenebilen, değiştirilebilen ve paylaşılabilen yazılım anlayışıdır.