Ana içeriğe geç

Branch

Türkçe karşılığı
dal
Okunuşu
brenç

Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/branch

Kısaca

Git'te branch, bir özellik ya da düzeltme üzerinde, birleştirene kadar ana kodu etkilemeden çalışmanızı sağlayan bağımsız bir geliştirme hattıdır.

Git'te branch nedir?

Branch, yeni bir şey (özellik, hata düzeltmesi ya da deney) geliştirmek için ana çalışma hattından ayrılmanızı sağlar. Bir branch'te yaptığınız commit'ler diğer branch'leri etkilemez; böylece siz çalışırken ana kod kararlı kalır. İş hazır olduğunda, genellikle bir merge ya da pull request aracılığıyla ana hatta geri birleştirilir.

Git'te branch şaşırtıcı derecede hafiftir: yalnızca bir commit'i gösteren, hareket edebilen bir işaretçidir. Bir branch'te her commit yaptığınızda işaretçi yeni commit'e ilerler. HEAD adlı özel bir işaretçi şu anda hangi branch'te olduğunuzu izler; bu yüzden branch oluşturmak ya da değiştirmek neredeyse hiç zaman almaz.

Branch, üzerinde serbestçe deneme yapabileceğiniz, bir belgenin paralel kopyası gibidir. Düzenlemeler iyi sonuç verirse orijinaline katarsınız; vermezse kopyayı atarsınız. Çoğu depoda, kodun resmi sürümünü tutan ve genellikle main (eski projelerde çoğunlukla master) olarak adlandırılan bir varsayılan branch bulunur.

Takımlar genellikle bir branch stratejisi izler. Trunk-based development'ta geliştiriciler kısa ömürlü branch'ler açar ve bunları sık sık, çoğu zaman günde birkaç kez main'e birleştirir; Git Flow gibi daha ağır iş akışları ise geliştirme, sürüm ve acil düzeltmeler için uzun ömürlü branch'ler tutar. Branch, bir deponun (genellikle başka bir hesap altındaki) tam kopyası olan fork'tan da farklıdır.

Bir bakışta

Bir feature dalı B commit'inden sonra main'den ayrılır, D ve E commit'lerini alır ve F commit'iyle main'e geri birleştirilir.birleştirmeABCFDEmainHEADfeature/login
Dal, bir commit'e takılmış taşınabilir bir etikettir. Üzerindeki iş, birleştirene kadar main'e dokunmaz.

Önemli noktalar

  • Branch, bir depo içindeki yalıtılmış bir geliştirme hattıdır.
  • Git'te branch, bir commit'i gösteren hafif bir işaretçiden ibarettir.
  • Varsayılan branch genellikle main olarak adlandırılır.
  • Sık birleştirilen kısa ömürlü branch'ler merge çakışmalarını azaltır.

Örnek

Bir feature branch üzerinde çalışmakbash
# Create a new branch and switch to it
git switch -c feature/search-bar

# Edit files, then commit on the branch
git add .
git commit -m "Add search bar component"

# Switch back to main and merge the feature
git switch main
git merge feature/search-bar

# Delete the branch once it has been merged
git branch -d feature/search-bar

Sık sorulan sorular

git switch ile git checkout arasındaki fark nedir?

git switch, Git 2.23'te eklenen daha yeni bir komuttur ve yalnızca tek bir işi yapar: branch değiştirmek. git checkout da branch değiştirebilir ama dosyaları geri yükleme gibi başka işleri de üstlenir; birçok yeni başlayan bunu kafa karıştırıcı bulur.

Branch ile fork arasındaki fark nedir?

Branch, aynı depo içindeki ayrı bir çalışma hattıdır. Fork ise bir deponun genellikle farklı bir hesap altındaki tam kopyasıdır ve çoğunlukla yazma erişiminiz olmayan projelere katkı vermek için kullanılır.

Varsayılan branch neden master yerine main olarak adlandırılıyor?

2020 civarında büyük Git barındırma platformları ve birçok proje, daha kapsayıcı bir dil kullanmak için varsayılan branch adını master'dan main'e çevirdi. Git'in kendisi ise init.defaultBranch ayarıyla istediğiniz varsayılan adı seçmenize izin verir.

Sık karşılaştırılanlar

İlgili sayfalar

Kaynaklar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar