GitHub Flowとは?
GitHub社が実践しているワークフローのこと
masterブランチからブランチを切る(ここではfeatureブランチとする)
↓
featureブランチで作業を行う
↓
プルリクエストをする
↓
レビュー
↓
承認されたらmasterブランチにマージしてリリース
このような非常にシンプルなワークフローで、GitHub Flowという名前を知らない人でも多くの人が実践しているワークフローだと思う。
GitHub Flowを実践するときに意識するポイント
- masterブランチは常に本番環境と同じ状態に
- 開発はmasterブランチから新しいブランチを切ってスタートする
- 作成したブランチ上で作業してコミット
- こまめなpush
- masterにまーずするためにプルリクエストを行う
- テストとデプロイは自動化する
Git Flowにおけるブランチとその役割
masterブランチ
- リリース時に初めてコミットされるブランチ
- masterの先頭は常にサービスの最新のリリースになっていなければならない
- リリースごとにタグを打つ
developブランチ
- masterからブランチを切る
- 実際の開発を行うためのブランチ
featureブランチ
- 複数人でデベロップを開発する際に使用するブランチ
- developからブランチを切る
- 一つの機能につき一つのfeatureブランチを作成
- 大きな機能ではfeatureから更にfeatureを切ることもある
releaseブランチ(stagingブランチ)
- developからmasterへmergeするための準備を行うブランチ
- プロジェクトにより使い方は様々
hotfixブランチ
- masterブランチで発生した緊急性の高いバグを修正するためのブランチ
- develop以外で唯一masterから切られるブランチ
- 修正が完了したらmasterおよびdevelopにmerge
- hotofixからmasterを更新したらpatchバージョンを上げる
最後に
とても初歩的な内容ですが、gitの使い方を徹底することはチーム開発を行う上でとても重要だと思うので、備忘録的な感じで記事に残しておきました。