9章 GitHubを利用した開発フロー - 32ka/hogehoge GitHub Wiki
チームでGitHubを利用するうえで意識すべきこと
すべてをシンプルに
- 品質の高いソフトウェアを高速で開発することをサポート
GitHub Flow
流れ
- masterブランチは常にデプロイできる状態
- 新しい作業はmasterからブランチを作成
- 新しく作ったブランチにcommit
- 定期的にpush
- Pull Request
- 必ず他の開発者からレビューを受ける
- masterブランチへマージしたらすぐにデプロイ
前提条件
- デプロイ作業は完全自動化
- テストを重要視する(自動化、テストをすべて通過、メンテナンス)
チームで実践するために
- Pull Requestのサイズを小さくする
- 試せる環境を用意する
- Pull Requestへのフィードバックを多くしすぎない
- Pull Requestをためないようにする
Git Flow
流れ
- 新しい作業はdevelopからfeatureブランチを作成
- Pull Requestを投げてdevelopにマージ
- developブランチからリリースブランチを作成
- リリースブランチをmasterにマージし、タグを打ってリリース
- リリースしたものにバグがあればhotfixブランチで修正
ブランチの違い
- masterブランチ
- 常に正常にソフトウェアが動作する状態のブランチ
- developブランチ
- 開発用ブランチ
- featureブランチ
- ブランチ開発者が直接コードを変更してコミットするブランチ
- developから作成
- developへマージ
- releaseブランチ
- リリース作業をするためのブランチ
- developから作成
- master, developへマージ
- hotfixブランチ
- 緊急的に対処しなければいけない時に作成するブランチ
- masterから作成
- master, developへマージ