Feature Branch Nedir?
İngilizce: Feature Branch
Feature branch, yeni bir işin ana koddan ayrılmış Git dalında geliştirilmesini sağlayarak deneme, inceleme ve birleştirmeyi kontrollü tutar.
Feature Branch Nedir?
Feature branch, yeni bir özellik, hata düzeltmesi veya deney için ana kod hattından ayrılan çalışma dalıdır. Böylece devam eden iş henüz üretime hazır değilken main veya develop dalını bozmaz.
Nasıl Çalışır?
Geliştirici güncel ana daldan yeni bir branch açar, değişikliklerini bu dalda commit eder ve işi tamamlayınca pull request veya merge request oluşturur. Bu aşamada otomatik testler çalışır, ekip arkadaşları kodu inceler ve gerekirse düzeltme ister. Onaydan sonra branch ana dala birleştirilir.
Git tarafında bu model dallanmayı ucuz ve hızlı kullandığı için yaygındır. Ancak uzun süre açık kalan branch’ler ana daldan uzaklaşır; merge conflict, tekrarlı test ve sürpriz entegrasyon hatası riski artar.
İş Akışındaki Yeri
Feature branch, ekiplerin paralel çalışmasını kolaylaştırır. Bir geliştirici ödeme ekranını yenilerken başka biri raporlama filtresini değiştirebilir. Her iş kendi branch’inde izlenir, tartışılır ve gerektiğinde geri alınabilir.
İyi pratik, branch’leri küçük tutmak, sık sık ana daldan güncellemek ve code review sürecini yalnızca biçimsel onaya çevirmemektir. Büyük özellikler için feature flag ile parça parça yayınlama çoğu zaman uzun branch taşımaktan daha sağlıklıdır.
İlgili Terimler
Code review, kod değişikliğinin ana dala alınmadan önce ekipçe incelenip mantık, güvenlik ve bakım risklerinin yakalandığı süreçtir.
GitGit, kod değişikliklerini commit geçmişiyle izleyen, dallanma ve birleştirme üzerinden ekiplerin paralel çalışmasını sağlayan dağıtık versiyon kontrolüdür.
GitFlowGitFlow, main, develop, feature, release ve hotfix dallarını ayrı rollerle kullanarak sürüm hazırlığı ve acil düzeltmeleri yöneten Git iş akışıdır.
HotfixHotfix, üretimdeki kritik hatayı normal yayın döngüsünü beklemeden sınırlı değişiklikle düzeltmek için çıkarılan yamadır.
Merge RequestMerge request, bir daldaki kod değişikliklerinin ana dala alınmadan önce incelenmesi, tartışılması ve onaylanması için açılır.