トランクベース開発 とは
単一ブランチでの開発
トランクベース開発は、すべての開発者が単一のメインブランチ(trunk/main)で作業し、頻繁に小さなコミットを行う開発方法論です。
主要原則
- すべての変更はmain/trunkに直接
- 短命なfeatureブランチ(最大1-2日)
- 頻繁なコミット(1日に複数回)
- 継続的インテグレーションは必須
メリット
- マージコンフリクトの最小化
- 迅速なフィードバック
- シンプルなコミット履歴
- CI/CDプロセスの加速
- 統合リスクの低減
成功のためのプラクティス
- Feature Flags — 未完成の機能を隠す
- トランクベース + 短命ブランチ — 1-2日のブランチ
- 継続的コードレビュー — 常時コードレビュー
- 自動テスト — コミットごとの自動テスト
Git Flowとの比較
| 側面 | トランクベース | Git Flow | |------|---------------|----------| | ブランチ | 1メイン | 多数の長寿命 | | リリース | 継続的 | スケジュール | | 複雑さ | 低 | 高 | | コンフリクト | まれ | 頻繁 |
使用時期
- テストカバレッジの高い経験豊富なチーム
- CI/CDのあるプロジェクト
- 頻繁なリリースが必要な場合