インフラ PR

【完全版】ブランチ運用ルールの代表例GitFlowとGitHubFlowを紹介

git-branch-rule
記事内に商品プロモーションを含む場合があります

Gitを利用したプロジェクトでは、スムーズに進行ができるようブランチ運用のルールをあらかじめ決めておく必要があります。しかし、Gitの経験が少ないと「どのように運用ルールを決めればいいかわからない」と思われる方も多いのではないでしょうか?

そこで本記事ではGitの運用ルールとして有名なGitFlowとGitHubFlowの概要と特徴についてお伝えしていきたいと思います。

エンジニアの副業におすすめ!

エンジニア、デザイナー向けの週2、3日のお仕事紹介【ITプロパートナーズ】【公式HP】https://itpropartners.com/

  • 週3日〜の案件を数多く扱っている
  • エンド直ゆえに高単価案件が多い
  • フルリモート案件など、柔軟な働き方に対応した案件が多い
  • トレンド技術を取り入れた魅力的な案件が豊富にある
  • 専属エージェントが希望に沿った案件を紹介してくれる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

engineer-sidejob-agent
【土日リモート可】エンジニアにおすすめの副業エージェント21選エンジニアにおすすめの副業エージェントは?本記事では数ある副業案件を扱うエージェントの中から現役エンジニアである筆者が厳選して21社紹介しております。副業に興味のあるエンジニアは要チェックです。...

【ブランチ運用】Git Flowの概要と特徴について

search

GitFlowは主に機能ごとにブランチを使い分けて開発を進めていくスタイルです。GitFlowで利用するブランチの種類とそれぞれの意味をまとめた表が以下になります。

master直接の作業はせずリリースするためのブランチ。
hotfixリリース後にバグがあった場合の修正用ブランチ。
releaseリリース前のテスト用ブランチ。
develop開発用ブランチ。実際の作業は機能ごとにfeatureブランチで行う。
feature機能開発用ブランチ。

実際に作業をするのは、featureブランチとreleaseブランチ、hotfixブランチ上です。

masterブランチとdevelopブランチでは実際の作業は行いません。

はい・・・言葉での説明だけでは理解しづらいかと思いますので、GitFlowでの運用の流れを図で表したものを以下に載せておきます。

GitFlow

繰り返しになりますが、あくまで作業をするのはfeatureブランチとreleaseブランチ、hotfixブランチで、masterブランチとdevelopブランチでは実際の作業は行いません。

また、これまで解説してきたような細かな運用ルールから、GitFlowは開発を主軸とした運用に適していると言えるでしょう。

【ブランチ運用】GitHub Flowの概要と特徴について

engineer

GitHubFlowでは運用するブランチは主にmasterとtopicの2種類のみでGitFlowをある意味では簡略した運用方式とも言えるでしょう。

本章では先にGitHubFlowでの運用の流れを図で表したものを以下に載せておきます。

GitHubFlow

GitHubFlowで利用するブランチの種類とそれぞれの意味をまとめた表が以下。

masterリリース用ブランチ。
topic開発用ブランチ。機能ごとにブランチを分けて利用する。

GitFlowと比べてGitHubFlowでは運用するブランチが2種類と少ない分、運用時に注意すべきポイントがいくつか存在します。

  1. masterブランチは常にリリース可能な状態にしておく。
  2. topicブランチは必ずmasterブランチから作成する。
  3. ローカルブランチの内容を定期的にリモートにPushする。
  4. プルリクエストを使ってコードレビューを行うことで品質を担保する。

GitHubFlowでは、topicブランチで修正・開発された機能が直接masterブランチにマージされ、その後リリースされるという流れなので、topicブランチでの不具合がそのまま公開されてしまうといった事態に陥る可能性があります。

そのような事態の予防としてプルリクエストを使ってコードレビューを行うという訳です。

GitHubFlowは、簡略的なブランチ運用とプルリクエストによるコードレビューで品質を担保するという性質上、リリースに主眼を置いた運用に適していると言えるでしょう。

結局、Git FlowとGitHub Flowどちらのブランチ運用がおすすめ?

good-money

ここまでGitFlow・GitHubFlowそれぞれの概要と特徴についてお伝えしてきました。

・・・で、結局どちらで運用すればいいの!?と思われている方向けに、本章では一般的な運用ケースをお伝えしていきたいと思います。

GitFlowが使われる主なケース

GitFlowでは利用するブランチの種類が多いため、運用が複雑になることが予想されます。

これは裏を返せば運用ルールが徹底されているとも捉えられることから、GitFlowは大規模プロジェクトでの運用に向いていると言えるでしょう。

また、GitFlowは開発に主眼を置いた運用に適していると先にお伝えした通り、開発フェーズ時のみ利用するのも良いかと思います。

GitHubFlowが使われる主なケース

一方のGitHubFlowはブランチ運用ルールが簡略化されていることから大規模プロジェクトには向いていないと言えるでしょう。

ただし、小・中規模のプロジェクトであれば運用がラクで便利なことからGitHubFlowが採用されているケースが多いように思えます。

また、GitHubFlowはリリースに主眼を置いた運用に適していると先にお伝えした通り、運用フェーズ時のみ利用するのも良いでしょう。

いずれの運用ルールを適用するにせよチーム内でコミュニケーションをしっかりと取り、各自が使いやすいようルール設計することが大切です。

Gitのブランチ運用【まとめ】

Gitのブランチ運用まとめ
  • GitFlowは開発を主軸とした運用に適している。また、大規模プロジェクトに適した運用ルールと言える。
  • GitHubFlowはリリースを主軸とした運用に適している。また、小・中規模プロジェクトに適した運用ルールと言える。
  • いずれの運用ルールを適用するにせよチーム内でコミュニケーションをしっかりと取り、各自が使いやすいようルール設計することが大切。

ここまで記事を読んでいただきありがとうございました。本記事がGitのブランチ運用に悩まれている方のお役に立てたのなら幸いです。

また、Git自体の学習方法については以下の記事で詳しく解説しておりますので、気になる方はこちらもご参照くださいませ。

エンジニアの副業におすすめ!

エンジニア、デザイナー向けの週2、3日のお仕事紹介【ITプロパートナーズ】【公式HP】https://itpropartners.com/

  • 週3日〜の案件を数多く扱っている
  • エンド直ゆえに高単価案件が多い
  • フルリモート案件など、柔軟な働き方に対応した案件が多い
  • トレンド技術を取り入れた魅力的な案件が豊富にある
  • 専属エージェントが希望に沿った案件を紹介してくれる

\ 最短60秒で登録可能! /
無料会員登録
案件を探す

github-learning
【初心者向け】Git&GitHubの学習手順まとめ「Git&GitHubの効率的な学習方法がわからない」そんな初心者の方向けに現役エンジニアの筆者が考えるおすすめの学習方法を解説しております。これからGit&GitHubの学習を始める方は必見です。...
udemy-git
【2024年最新】UdemyのGit講座おすすめ5選「UdemyでおすすめのGit講座を知りたい」「UdemyでGitを効率的に学びたい」このように思われている方向けに本記事ではUdemy...
git
【2024年最新】Git&GitHubの独学におすすめの本7選Git&GitHubについて初心者が学ぶのにおすすめの入門書を7冊ご紹介。もはや開発現場で必要不可欠なGitとGitHubをマスターして、エンジニアとしてのスキルの幅を広げていきましょう!...
こちらの記事もおすすめ!

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です