【Git】ブランチモデル ~ GitHub Flow / Git-flow etc ~

■ はじめに

 現場・プロジェクトによって、Gitの運用の仕方が変わるので、
一般的に知られているブランチモデル について、調べてみる。

ブランチモデル

【1】 GitHub Flow
【2】 Git-flow
【3】 Gitlab-flow
【4】 Git Feature Flow

【1】GitHub Flow

* すごいシンプル

https://docs.github.com/en/get-started/quickstart/github-flow

[1] Create a branch
[2] Make changes
[3] Create a pull request
[4] Address review comments
[5] Merge your pull request
[6] Delete your branch

 => 以下のサイトの図が分かりやすい

https://github.com/SvanBoxel/release-based-workflow/issues/1

メリット

シンプルなので、開発メンバーに浸透しやすい

デメリット

リリースのタイミングを調整したい場合は不向き

扱うブランチ種類(登場人物)

a) masterブランチ ... メインブランチ  
b) topicブランチ

【2】 Git-flow

* Vincent Driessenさんのブログ「A successful Git branching model」(以下URL)が元ネタ

https://nvie.com/posts/a-successful-git-branching-model/
翻訳
http://keijinsonyaban.blogspot.com/2010/10/a-successful-git-branching-model.html

扱うブランチ種類(登場人物)

a) メインブランチ
    a-1) masterブランチ ... メインブランチ  
    a-2) developブランチ ... 開発用  
b) サポートブランチ
    b-1) Feature ブランチ ... 機能追加用  
    b-1) Release ブランチ ... リリース準備用  
    b-1) Hotfix ブランチ ... 不具合修正用  

参考文献

https://www.atmarkit.co.jp/ait/articles/1401/06/news013.html

【3】 Gitlab-flow

扱うブランチ種類(登場人物)

a) master ブランチ ...  開発用
b) topic ブランチ ...  機能追加用/不具合修正用
c) production ブランチ ...  テスト済で本番環境へのデプロイ可能なブランチ
d) release  ブランチ ... リリース準備用

参考文献

https://qiita.com/tlta-bkhn/items/f2950aaf00bfb6a8c30d
http://shoma2da.hatenablog.com/entry/2015/11/04/233534

【4】 Git Feature Flow

https://about.gitlab.com/2014/09/29/gitlab-flow/
翻訳
https://postd.cc/gitlab-flow/

参考文献

https://developers.gnavi.co.jp/entry/GitFeatureFlow/koyama
https://www.slideshare.net/naokikoyama/git-feature-flow

参考文献

https://qiita.com/tkhm/items/cc7855d32d640687b43c

関連記事

Github ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/07/18/234652
Github ~ Pull Request ~
https://dk521123.hatenablog.com/entry/2019/12/15/231202
Github ~ Draft Pull Request ~
https://dk521123.hatenablog.com/entry/2022/09/20/000000