git-flowでブランチ管理してみた。

git-flowでブランチ管理してみた。

参考URL
https://qiita.com/KosukeSone/items/514dd24828b485c69a05
https://tracpath.com/bootcamp/learning_git_git_flow.html

ブランチは適当に分けても大丈夫だけど、デフォの指針がないと困るので導入する
1, master リリースするブランチ。直接コミットはせずにdevelopからのマージのみ。リリースしたらタグでバージョン管理する
2, develop リリース前の最新バージョン。直接コミットはせずにfeatureなどからのマージのみ。開発者がgit cloneするのはコレ
3, feature branches developから分岐する。機能を追加したら、developにマージする。マージ後は削除?
4, hotfix masterから分岐。リリース後に致命的なバグ修正などを行って、masterにマージする
5, release branches リリース前のテスト的なブランチ。問題があれば修正してmaseter/developの両方にマージして、このブランチは削除する
6, support(オプション) 旧バージョンの保守とリリース

この状態でfeatureブランチにcheckout(切り替え)されているので、色々と修正してからgit add & git commitする
git flow feature finish ブランチ名(機能が分かりやすい名前)
すると、developにマージされて、用済みになったfeatureブランチが削除される。

実際には、プロジェクトの途中から参加する事も多い。

1, developブランチから、ローカルにコピー
git clone -b develop レポジトリへのパス(URL)

2, 修正して、git add & git commit

3, リモートオリジンを設定
git remote add origin レポジトリへのパス(URL)

4, pushする。-uをつけておくと次回以降はgit pushだけでOK
git push -u origin feature/ブランチ名(機能が分かりやすい名前)

こういうパターンもあるかも

【感想】
う~ん、git-flowはブランチが多くて面倒臭いな!
github-flowは、master⇔topicのブランチ2個で楽そうだ。