Branch Types

5つのブランチ
使いこなす

Git Flow の核心は、目的別に分けられた5種類のブランチ。 それぞれの役割・寿命・命名規則を理解することが運用の鍵です。

Branch Lifecycle

main hotfix develop feature/login feature/api release/1.0 v0.9 v1.0 v1.0.1
// Branch Details

各ブランチの詳細

main

naming: main (or master)

プロダクションリリースの正式な履歴を記録するブランチ。 このブランチの各コミットはリリースバージョンに対応し、タグが付与されます。 直接コミットは禁止で、release または hotfix ブランチからのマージのみ受け入れます。

∞ 永続ブランチ

develop

naming: develop

次期リリースに向けた統合ブランチ。すべての feature ブランチはここにマージされます。 「夜間ビルド」の対象となるブランチで、常に最新の開発完了状態を反映します。 CI/CD のテストパイプラインはこのブランチをトリガーに実行されることが多いです。

∞ 永続ブランチ

feature/*

naming: feature/<機能名> — 例: feature/user-auth, feature/search-api

新機能の開発に使うブランチ。develop から分岐し、完了後に develop へマージします。 機能単位で独立しているため、複数の開発者が並行して別々の feature で作業可能。 main ブランチには直接関与しません。

⏲ 一時ブランチ — 機能完成でマージ後に削除

release/*

naming: release/<バージョン> — 例: release/1.2.0, release/2.0.0

リリース準備のためのブランチ。develop から分岐し、バグ修正・ドキュメント更新・バージョン番号の変更などを行います。 リリース準備中も develop では次期リリースの開発を継続できます。 完了後は main と develop の両方にマージし、main にタグを付けます。

⏲ 一時ブランチ — リリース完了で削除

hotfix/*

naming: hotfix/<修正内容> — 例: hotfix/fix-login-crash, hotfix/security-patch

本番環境の緊急バグを修正するブランチ。release と似た役割ですが、 main から直接分岐する点が異なります。 修正完了後は main と develop の両方にマージし、main に新しいパッチバージョンのタグを付けます。 これにより、通常の開発フローを中断せずに本番を修正できます。

⏲ 一時ブランチ — 修正完了で即削除
// Comparison

ブランチ比較表

Branch Matrix

ブランチ 分岐元 マージ先 寿命
main 永続
develop main 永続
feature/* develop develop 短期
release/* develop main + develop 短期
hotfix/* main main + develop 短期