#Git-flowとは?
簡単にいうとGitのブランチを活用したGitの開発手法。
メリット...開発スピードの向上、コンフリクトやマージのミスの発生を防げる。
デメリット...開発スタート時に運用ルールを決めておかないとプロジェクトがまとまらない。
**※**コンフリクト....同じ箇所を別々のブランチで別々の変更をかけてマージすること。
##Git-flowの5つのブランチ
1 フィーチャー......開発を行うためのブランチ。用途は個々の機能の実装やバグの解決
2 デベロップ..........開発を行うためのブランチ
3 リリース.............リリース前に準備、微調整を行うブランチ。
4 マスター............リリースしたデータをおいておくブランチ。
5 ホットフィックス......リリースされたデータに緊急の修正をするためのブランチ。
##詳細
開発を進める際にデベロップからフィーチャーブランチを作成し、作業を進めていく。それが終わったらデベロップブランチにマージという工程を繰り返す。
この工程を繰り返してリリースのタイミングになったらデベロップブランチからリリースブランチを作成する。ここでのマージ先はデベロップではなくマスターブランチ。
リリース後にバグが見つかった場合、マスターブランチからホットフィックスブランチを作成しバグの対応を行う。
##まとめ
分岐元 マージ先
フィーチャー デベロップ デベロップ
リリース デベロップ デベロップ・マスター
ホットフィックス マスター デベロップ・マスター
Git-flow流れ
1 developブランチからfeatureブランチを作成して、機能・タスクごとに開発を進める
2 1. をdevelopブランチにマージする
3 1.〜2. を繰り返して開発を進める
4 全データが揃いリリースのタイミングになったら、releaseブランチを作成し、バグ修正やドキュメントの整備をおこなう
5 4. をmaster, developブランチにマージして公開する
6 もし急なバグが見つかったら、hot-fixブランチを用意して対応する
7 6. をmaster, developブランチにマージして公開する
##感想
Github-flowとの違いを理解することが難しかった......
完璧ではないがある程度は理解できたと思っています。
参考サイト
https://liginc.co.jp/248864
https://tracpath.com/bootcamp/learning_git_git_flow.html