Gitブランチ戦略 ぎっとぶらんちせんりゃく
ブランチ戦略GitFlowGitHub FlowTrunk-Based Developmentフィーチャーブランチリリース管理
ブランチ戦略って何のために決めるの?
簡単に言うとこんな感じ!
ブランチ戦略は「チームで同時にコードを変更するときのルール」だよ!ルールがないと「誰かの変更が誰かの変更を上書きする」「本番に未完成のコードが入る」という事故が起きる。Gitflowみたいなお作法を決めておくと、安全に並行開発できるんだ。
Gitブランチ戦略とは
Gitブランチ戦略(Branching Strategy) とは、チームでGitを使って開発する際に、ブランチの命名規則・役割・マージのルールを定めた開発規約です。
チームの規模・リリース頻度・デプロイ手順によって最適な戦略が異なります。
主なブランチ戦略の比較
| 戦略 | 特徴 | 向いている場面 |
|---|---|---|
| GitFlow | main/develop/feature/release/hotfixブランチ構成。厳格で複雑 | 定期リリース・大規模チーム |
| GitHub Flow | mainブランチ+フィーチャーブランチのシンプル構成 | CI/CD・高頻度デプロイ |
| GitLab Flow | GitHub FlowにEnvironmentブランチを追加 | 複数環境(ステージング等)がある場合 |
| Trunk-Based Development | 全員がmain(trunk)に直接コミット。フィーチャーフラグ活用 | 超高速CI/CD・大規模エンジニア組織 |
GitFlowのブランチ構成
main(本番稼働コード)
↑ merge
develop(開発統合ブランチ)
↑ merge
feature/xxx(機能開発)
release/1.0(リリース準備)
hotfix/bug-fix(緊急修正)
歴史と背景
- 2010年:Vincent DriessenがGitFlowを提唱しブログで公開
- 2011年:Scott ChaconがGitHub Flowをブログで発表(GitFlowは複雑すぎるとして)
- 2015年以降:Trunk-Based Developmentが高速CI/CDと相性が良いとして注目される