【Git】基本のブランチモデル

ブランチモデルって?

PJでどのようにGitを運用していくかの指針になる考え方のことです。

git-flowとGitHub Flowという二つの有名なブランチモデルがありますが、今回はgit-flowに基づいた考え方をまとめます。

各ブランチの運用方法

masterブランチ

★必須

・完全な品質を保証する

・特定のブランチからマージすることによってしか更新されない(品質が保証されたバージョンのdevelopブランチからマージする)

・直接コミットしてはならないという制約をもつ

・適切に運用されていれば、masterブランチから最新の安定版がいつでも取得できる

developブランチ

★必須

・開発中のコミットが行われる主軸

・feature/bugfixブランチはここから派生

・軽微な修正のみ、直接コミットしてよい

featureブランチ

★必須 

ブランチ名ex)feature/○○/○○

・中〜大規模な機能追加・改修などを行う作業ブランチ

・やるぞー!ってなったらdevelopブランチから、featureブランチを切る

・機能ごとにブランチを用意することで、並行して機能を開発できる

・完了後はdevelopブランチにマージして、featureブランチは削除する

bugfixブランチ

ブランチ名ex)bugfix/○○/○○

・developブランチでバグが発覚した際に、修正を行うブランチ

・featureブランチのバグ修正版と思えばよい

・完了後はdevelopブランチにマージして、bugfixブランチは削除する

hotfixブランチ

ブランチ名ex)hotfix/○○/○○

・masterブランチでバグが発生した際に、修正を行うブランチ

・masterブランチから派生

・一番切りたくないけれども、切るべきときはさっさと切らなければいけないブランチ

・修正が無事完了したら、masterブランチとdevelopブランチにマージして削除する

ブランチイメージ図

★Point

常にmaster/developブランチは存在させておき、feature/bugfix/hotfixブランチは必要に応じて、作成、削除を行う。

★★こまめにブランチ整理を行うが吉◎

・masterブランチ 品質が安定したバージョン

・developブランチ masterブランチに品質は劣るが、最も開発が進んだバージョン

是非Git運用の参考にしてみてください!!

参考

https://havelog.ayumusato.com/develop/git/e513-git_branch_model.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です