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にマージして役割を終えたら削除する

参考