Git ブランチ戦略

GitHub Flow と Git Flow の比較、プルリクエスト・コードレビュー運用を整理。

Git は AP でも問われる新傾向。GitHub Flow・Git Flow の違いとプルリクエスト運用を押さえます。

鳴海 理央(普段) 鳴海 理央

Git は分散バージョン管理システム。
GitHub Flow は main + 短命な feature ブランチで頻繁にデプロイ、Git Flow は main・develop・feature・release・hotfix の長命ブランチを使う。

砂原 ニコ(普段) 砂原 ニコ

結局どっち使えばいいの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

Web サービスのように継続的デプロイなら GitHub Flow、リリース版を明確に管理する OSS やパッケージ製品なら Git Flow が向いているのよ。
最近は GitHub Flow + リリース管理が主流ね。

藤咲 まりあ(普段) 藤咲 まりあ

プルリクエスト は何のためですかぁ?

鳴海 理央(普段) 鳴海 理央

ブランチをマージ前にレビューする仕組みです。
コードレビュー・CI 通過・マージ承認のゲートを設け、品質を担保します。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

AP では『Git の用語 (clone・pull・push・branch・merge)』『Git Flow のブランチ役割』『マージとリベースの違い』が頻出よ。

確認クイズ

Git Flow と GitHub Flow の使い分けに関する説明として、最も適切なものはどれか。

  1. Git Flow は OSS や Web サービスの標準で、GitHub Flow は廃止された
  2. GitHub Flow は main + 短命な feature ブランチで継続的デプロイに向き、Git Flow はリリース管理が必要なプロダクトに向く
  3. Git Flow は分散管理を行わない単純な運用、GitHub Flow は分散管理に対応する
  4. 両者はまったく同じ運用フローで、名前だけ異なる
こたえを見る

正解: 2. GitHub Flow は main + 短命な feature ブランチで継続的デプロイに向き、Git Flow はリリース管理が必要なプロダクトに向く

GitHub Flow は main + 短命 feature の単純構成で、継続的デプロイ (Web サービス) に向きます。Git Flow は main・develop・feature・release・hotfix を使い分け、明確なリリース版が必要なプロダクト・OSS に向きます。

藤咲まりあ、砂原ニコが水族館で大水槽を鑑賞を楽しむ様子

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。