A successful Git branching model まとめ
使用するブランチ
- メインブランチ
- master
- develop
- サポートブランチ
- feature
- release
- hotfix
master
- リリース可能な状態だけを管理するブランチ
- コミットにタグ付けし、リリース番号を記録する
- リリースしたものが最新から過去まで確認できる
develop
- featureブランチを統合するためのブランチ
- 最新の開発環境を管理する
- 他の人が参画した際はdevelopをクローンすればすぐに開発に入れる
feature
- 新機能の開発を行う際にdevelopから分岐するブランチ
- バグが発生した場合に特定がしやすくなる
- Fast Forwardを使用せずマージすることで、featureブランチで行ったコミットが分かりやすくなる
release
- 開発が完了し、マスターに反映する準備のためのブランチ
- バグ修正など最終調整が完了したら、masterへタグ付きでマージする
- masterへのマージ後にreleaseブランチでの修正を取り込むため、developにもマージする
hotfix
- リリース後に緊急で修正するためのブランチ
- developからmasterまでリリースするまでは時間が掛かるため、masterからブランチを作成しマージする
- masterへのマージ後、修正を反映させるためdevelopブランチ(あればreleaseにも)にマージする
尚、サポートブランチはmasterやdevelopにマージして役割を終えたら削除する