git flowとは
Gitのブランチ構成のルール、及びそのルールを実現するためのツール名です。
構成のルールというと、CSSのSMACSSのようなものですね。
Git flowでは
メインブランチであるmaster、develop
サポートブランチであるfeatures、releases、hotfixes
の全5種類のブランチを利用します。
各ブランチの説明
メインブランチ
各メインブランチは、種類ごとに常に1つだけ存在します。
master
本番リリース用のブランチです。
develop
開発用のブランチです。開発時にはこのブランチに対してプルリクエストを出します。
サポートブランチ
サポートブランチは、機能追加やバグの修正などが行われるたびに新たに作成され、不要になったら削除されます。
features
機能追加のためのブランチです。サービス公開前は大体このブランチで作業し、developブランチに対してプルリクエストを出します。ブランチ名はなんでもOK。
releases
リリースの前段にあるブランチ。機能追加中で未使用のコードなどを本番に反映させないようにするために必要。
hotfixes
本番環境(masterブランチ)で重大なバグが発生した時に、masterブランチから派生して作成されるブランチです。
修正後、masterブランチとdevelopブランチの両方に取り込まれます。
結局何をすれば良いか
- 基本はfeatureブランチを作る→developにマージの繰り返し
- いろいろ要件がある時に他のブランチを使う
参考
Git-flowって何?
【図解】git-flow、GitHub Flowを開発現場で使い始めるためにこれだけは覚えておこう
A successful Git branching model を翻訳しました
Gitを最大限に活用できる「Git flow」で、効率よく開発を進めよう!