はじめに
自分があやふやだったためしっかり理解するように書きました。なぜそのようなブランチがあるのか?が分かるとgitflowのブランチについて理解できると思ったのでgitflowのブランチの役割に焦点を置いて書きました。見出し下太文字はブランチの流れを表しています。主に説明は図でさせて頂きました!!ブランチの流れは図を見た後に復習として見て頂ければと思います!
参考:
http://keijinsonyaban.blogspot.com/2010/10/a-successful-git-branching-model.html?m=1
masterブランチ
releaseブランチ→masterブランチ
masterにマージしたリリースブランチは基本削除する。がしかし、中には言語のバージョンで分けてとって置きたいこともあると思うので削除が全くの正解という訳ではない。
developブランチ
developブランチ→featureブランチ→developブランチ
developブランチ→releaseブランチ→masterブランチ
develpにマージしたfeatureブランチは削除。developにマージしたものをリモートに反映するので基本featureブランチはリモート(origin)に存在しない
featureブランチ
developブランチ→featureブランチ→developブランチ
develpにマージしたfeatureブランチは削除。developにマージしたものをリモートに反映するので基本featureブランチはリモート(origin)に存在しない
グループ開発の時は一回リモートにプッシュし、確認、マージする人がプルし確認する。
releaseブランチ
developブランチ→releaseブランチ→masterブランチ
masterにマージしたリリースブランチは基本削除する。がしかし、中には言語のバージョンで分けてとって置きたいこともあると思うので削除が全くの正解という訳ではない。
グループ開発の時は一回リモートにプッシュし、確認、マージする人がプルし確認する。
hotfixブランチ
masterブランチ→hotfixブランチ→masterブランチ
開発にも反映
hotfixブランチ→releaseブランチ
リリースブランチ準備していたらリリースブランチにも反映
hotfixブランチ→developブランチ
masterブランチに反映が終わればhotfixブランチは削除する。
グループ開発の時は一回リモートにプッシュし、確認、マージする人がプルし確認する。
最後に
これで再度gitflowの図を見て頂ければと思います!
間違っていないと信じていますが、違うところあればご指摘お願いします。