バージョン管理

Gitブランチ戦略 ぎっとぶらんちせんりゃく

ブランチ戦略GitFlowGitHub FlowTrunk-Based Developmentフィーチャーブランチリリース管理
ブランチ戦略って何のために決めるの?

簡単に言うとこんな感じ!

ブランチ戦略は「チームで同時にコードを変更するときのルール」だよ!ルールがないと「誰かの変更が誰かの変更を上書きする」「本番に未完成のコードが入る」という事故が起きる。Gitflowみたいなお作法を決めておくと、安全に並行開発できるんだ。


Gitブランチ戦略とは

Gitブランチ戦略(Branching Strategy) とは、チームでGitを使って開発する際に、ブランチの命名規則・役割・マージのルールを定めた開発規約です。

チームの規模・リリース頻度・デプロイ手順によって最適な戦略が異なります。


主なブランチ戦略の比較

戦略特徴向いている場面
GitFlowmain/develop/feature/release/hotfixブランチ構成。厳格で複雑定期リリース・大規模チーム
GitHub Flowmainブランチ+フィーチャーブランチのシンプル構成CI/CD・高頻度デプロイ
GitLab FlowGitHub 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と相性が良いとして注目される

関連用語