GitFlow Nedir?
İngilizce: GitFlow
GitFlow, 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.
GitFlow Nedir?
GitFlow, Git branch’lerini belirli rollerle kullanan bir sürüm yönetimi modelidir. main üretim sürümünü, develop bir sonraki sürümün entegrasyon hattını, feature branch’ler yeni işleri, release branch’ler sürüm hazırlığını, hotfix branch’ler ise acil üretim düzeltmelerini taşır.
Nasıl Çalışır?
Yeni geliştirme genellikle develop üzerinden açılan feature branch içinde yapılır. İş tamamlandığında merge request veya pull request ile develop dalına alınır. Sürüm zamanı geldiğinde release branch açılır; son testler, versiyon numarası ve küçük düzeltmeler burada yapılır. Yayınlanınca release hem main hem develop tarafına birleştirilir.
Üretimde kritik hata varsa hotfix branch doğrudan main üzerinden açılır. Düzeltme çıktıktan sonra değişiklik yine develop tarafına taşınır ki sonraki sürümde kaybolmasın.
Ne Zaman Uygun?
GitFlow, planlı sürüm döngüsü olan, aynı anda birden fazla sürümü destekleyen veya mobil uygulama mağazası gibi onay süreçlerinden geçen ekiplerde işe yarar.
Sürekli dağıtım yapan web ürünlerinde ise ağır kalabilir. CI/CD olgunlaştıkça daha kısa ömürlü branch’ler ve trunk-based yaklaşımlar tercih edilebilir. Model seçimi, ekibin release ritmine göre yapılmalıdır.
İlgili Terimler
CI/CD, kod değişikliklerini otomatik derleme, test ve dağıtım hatlarından geçirerek sürümü tekrarlanabilir hale getiren DevOps pratiğidir.
Feature BranchFeature branch, yeni bir işin ana koddan ayrılmış Git dalında geliştirilmesini sağlayarak deneme, inceleme ve birleştirmeyi kontrollü tutar.
Merge RequestMerge request, bir daldaki kod değişikliklerinin ana dala alınmadan önce incelenmesi, tartışılması ve onaylanması için açılır.