ガイド
Git Flow を時系列で理解する
プロジェクト開始からリリース・ホットフィックスまで、Git Flow の全フェーズを時系列で追う実践ガイド
5 種類のブランチ
概要は ブランチ戦略の選び方 を参照。
ここでは各フェーズを図で追います。
| ブランチ | 寿命 | 分岐元 | マージ先 | 役割 |
|---|---|---|---|---|
| main | 永続 | ― | ― | リリース済みコード + タグ |
| develop | 永続 | main | ― | 次リリースの統合先 |
| feature/ | 一時 | develop | develop | 新機能 |
| release/ | 一時 | develop | main + develop | リリース準備(バグ修正のみ) |
| hotfix/ | 一時 | main | main + develop | 本番の緊急修正 |
全ブランチの状態変化
問題が起こるケース
develop へのマージ忘れ — release/hotfix を main だけにマージすると、バグ修正が次のリリースから漏れて再発する
feature の長期化 — 数週間放置すると develop との差分が膨らみ、マージ時に大量コンフリクトが発生する
--no-ff なしの fast-forward — feature の統合点が消え、いつ何が統合されたか追えなくなる
main への直接コミット — develop との差分が生まれ、次の release マージでコンフリクトが起こる
Git Ready