5つのブランチを
使いこなす
Git Flow の核心は、目的別に分けられた5種類のブランチ。 それぞれの役割・寿命・命名規則を理解することが運用の鍵です。
Branch Lifecycle
各ブランチの詳細
main
プロダクションリリースの正式な履歴を記録するブランチ。 このブランチの各コミットはリリースバージョンに対応し、タグが付与されます。 直接コミットは禁止で、release または hotfix ブランチからのマージのみ受け入れます。
develop
次期リリースに向けた統合ブランチ。すべての feature ブランチはここにマージされます。 「夜間ビルド」の対象となるブランチで、常に最新の開発完了状態を反映します。 CI/CD のテストパイプラインはこのブランチをトリガーに実行されることが多いです。
feature/*
新機能の開発に使うブランチ。develop から分岐し、完了後に develop へマージします。 機能単位で独立しているため、複数の開発者が並行して別々の feature で作業可能。 main ブランチには直接関与しません。
release/*
リリース準備のためのブランチ。develop から分岐し、バグ修正・ドキュメント更新・バージョン番号の変更などを行います。 リリース準備中も develop では次期リリースの開発を継続できます。 完了後は main と develop の両方にマージし、main にタグを付けます。
hotfix/*
本番環境の緊急バグを修正するブランチ。release と似た役割ですが、 main から直接分岐する点が異なります。 修正完了後は main と develop の両方にマージし、main に新しいパッチバージョンのタグを付けます。 これにより、通常の開発フローを中断せずに本番を修正できます。
ブランチ比較表
Branch Matrix
| ブランチ | 分岐元 | マージ先 | 寿命 |
|---|---|---|---|
| main | — | — | 永続 |
| develop | main | — | 永続 |
| feature/* | develop | develop | 短期 |
| release/* | develop | main + develop | 短期 |
| hotfix/* | main | main + develop | 短期 |