0
1

[Git/GitHub] Git-flow と GitHub-flow の違い

Posted at

まとめ

相違点は大きく分けて下記となります。

  1. リリース管理: Git-flowはリリース管理に重点を置いており、releaseブランチやhotfixブランチが存在します。GitHub Flowでは、主にmain/masterブランチとfeatureブランチで管理します。
  2. 使用シーン: Git-flowは大規模なプロジェクトやリリースサイクルが明確なプロジェクトに向いています。GitHub Flowは小規模なプロジェクトや、継続的にデプロイを行うプロジェクトに適しています。

目次

Git-flowとは

Git-flowは主に機能ごとにブランチを使い分けて開発を進めていく手法です。次の6つのブランチを用いて開発していきます。

  • master
    本番環境のブランチで、リリースするために使う。ここでは直接コミットせず、マージのみ行う。
    ※masterブランチ上では開発を行わない。
  • develop
    開発中の主軸となるブランチ。developからfeatureブランチを作成し、そこで作業する。
    ※developブランチ上では開発を行わない。
  • feature
    機能の追加や変更、不具合の修正など実際に開発を行うブランチ。作業完了後、developにマージする。
  • release
    検証環境、もしくはリリース準備用のブランチ。developから作成し、リリースに伴う細かい修正等を行う。
    作業完了後、masterブランチとdevelopブランチにマージする。
    ※releaseブランチがあることで、リリース作業中にもdevelopブランチで並行して開発を進めることができる。
  • hotfix
    リリース後にバグが発生した場合、修正を行うブランチ。
    masterブランチから作成し、作業完了後、masterブランチとdevelopブランチにマージする。
  • support
    旧版のサポートをするときに用いるブランチ。オプションであり、使わないこともある。

image.png

Git-flowのワークフロー

  1. masterブランチからdevelopブランチを作成し、developブランチからfeatureブランチを作成する。
  2. featureブランチで開発をする。
  3. 2.が完了したら、developブランチにマージする。
  4. developブランチにいくつかのfeatureブランチがマージされたら、developブランチをreleaseブランチにマージし、リリースのための微調整を行う。
  5. 4.が完了したら、releaseブランチをmasterブランチとdevelopブランチにマージする。
  6. masterブランチにマージできたら、デプロイを行う。

※バグが発生した場合

  1. masterブランチから直接hotixブランチを作成する。
  2. hotfixブランチで修正が完了したら、masterブランチとdevelopブランチにマージする。
  3. masterブランチにマージできたら、デプロイを行う。

GitHub-flowとは

GitHub Flowは、Git-flowを簡略化したものです。
Git-flowのような決まったブランチ名はありませんが、次のブランチを用いて開発していきます。

  • main/master
    本番環境のブランチ。常にリリース可能な状態である。
  • feature
    作業開始時にmasterブランチから作成するブランチ。ブランチ名は、作業内容が分かりやすい名前にする。

image.png

GitHub-flowのワークフロー

  1. masterブランチからブランチを作成し、作業をする。
    ※作業用ブランチは定期的にプッシュすること。
  2. 作業が完了したら、プルリクエストを作成し、コードのレビューを依頼する。
  3. 2.で確認ができたら、masterブランチへマージする。
  4. masterブランチにマージできたら、デプロイを行う。

参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1