Nedir Trunk Tabanlı Geliştirme
Tek dalda geliştirme
Trunk Tabanlı Geliştirme, tüm geliştiricilerin tek bir ana dalda (trunk/main) çalıştığı ve sık küçük commitler yaptığı bir geliştirme metodolojisidir.
Temel İlkeler
- Tüm değişiklikler doğrudan main/trunk'a gider
- Kısa ömürlü feature dalları (en fazla 1-2 gün)
- Sık commitler (günde birkaç kez)
- Sürekli entegrasyon zorunludur
Faydalar
- Minimize edilmiş merge çatışmaları
- Hızlı geri bildirim
- Basit commit geçmişi
- Hızlandırılmış CI/CD süreçleri
- Azaltılmış entegrasyon riski
Başarı için Pratikler
- Feature Flags — tamamlanmamış özellikleri gizleme
- Trunk-based + kısa dallar — 1-2 günlük dallar
- Sürekli Code Review — sürekli kod incelemesi
- Otomatik Test — her committe otomatik testler
Git Flow ile Karşılaştırma
| Yön | Trunk-Based | Git Flow | |-----|-------------|----------| | Dallar | 1 ana | Çok uzun ömürlü | | Sürümler | Sürekli | Planlı | | Karmaşıklık | Düşük | Yüksek | | Çatışmalar | Nadir | Sık |
Ne Zaman Kullanılır
- İyi test kapsamına sahip deneyimli ekipler
- CI/CD olan projeler
- Sık sürüm gerektiğinde