概要
少人数のチームでGitHubを用いてプロダクト開発するときのブランチ運用フローについて.
GitHub Flowを参考にシンプルさと運用のしやすさを重視している.
チームの全員が6つのルールを守るだけで,masterが綺麗な状態で保たれる.
全体像

6つのシンプルなルール
1. master は本番環境にデプロイされているバージョン
2. develop はテスト環境にデプロイされているバージョン
3. feature ブランチ(作業ブランチ)は develop から分岐する
4. feature ブランチは頻繁に push する
5. pull-request(PR)で develop にマージする
6. マージされた feature ブランチは削除する
実際の作業例
1. develop からある機能を実装する作業ブランチを作る
//developブランチにて
$ git branch hogehoge
$ git checkout hogehoge
2. ローカルの作業ブランチで開発を進めつつ,頻繁にリモートの作業ブランチに push する
//hogehogeブランチにて
$ git push origin hogehoge
3. ある程度実装できたらPRをdevelopに飛ばす
GitHubのウェブサイトでPull requestをdevelopに発行する
or
hubコマンドをインストールしていれば
//hogehogeブランチにて
$ hub pull-request -b develop
4. PRが承認されてマージされれば作業ブランチを削除する

5. 管理者がdevelopをテスト環境にデプロイする
6. 管理者がdevelopを本番環境にデプロイする
7. 管理者がmasterにdevelopをマージする
追記:本番環境でバグが発生した場合の対処方法
1. masterブランチからhotfixブランチを切る
2. hotfixでバグを修正してmasterにPR -> コンフリクト修正 -> マージ -> デプロイ
3. 完了したらhotfixをdevelopにPR -> コンフリクト修正 -> マージ -> デプロイ
4. hotfixブランチを削除
Happy Hacking
!
参考