Trunk-based development
Kısaca: Trunk-based development’ta tüm geliştiriciler ortak bir ana dalda çalışır ve yalnızca çok kısa ömürlü dalları, çoğunlukla bir gün içinde birleştirir.
Biraz daha ayrıntılı: Karşıtı, günlerce birbirinden uzaklaşan ve acı verici birleştirmelerle biten uzun özellik dallarıdır.
Ayrıntılı
- Kurallar: Küçük değişiklikler, sık entegrasyon, ana dal her zaman çalışır durumda.
- Özellik bayrakları (feature flags): Bitmemiş özellikler bir anahtarın arkasında, kapalı olarak yayımlanır. Bu, dağıtımı ve açmayı birbirinden ayırır.
- Önkoşullar: Hızlı otomatik testler, sürekli entegrasyon ve günler sürmeyen kod incelemesi.
- Avantajlar: Daha az birleştirme çakışması, daha hızlı geri bildirim, daha basit sürümler.
- Dezavantajlar: Disiplin ve iyi test kapsamı ister. Büyük yeniden yapılandırmalar küçük adımlara bölünmelidir (“branch by abstraction”).
- Karşıtlık:
develop, sürüm ve acil düzeltme dalları olan GitFlow daha zahmetlidir ve sabit sürümlü yazılıma daha uygundur.
Ayrıca bak: git rebase