ブランチの種類
ブランチ名称 | 役割 | 備考 |
---|---|---|
master | 常時デプロイしても問題ないブランチ | feature,releaseはmasterから必ず作成 |
feature | 開発作業ブランチ | 複数人でこのブランチを作成する場合はここから作業ブランチを作成する |
release | デプロイされるブランチ | 本番環境作成したタイミングくらいで作成 |
hotfix | 緊急対応のブランチ | リリース後に緊急対応が必要な場合に作成 |
githubフローを採用したかったのだが、releaseブランチを複数持つ必要がありgitフローとgithubフローの中間くらいで運用することに決めた。
前提
github,gitlab,bitbucket等何でも良いのだが、各ブランチ間のマージはgithub等のページ内から行う。
masterなどをローカルでマージしてpushしない。
各ブランチを最終的にrebaseしてリモートにpushすること。
実際の操作
作業ブランチを作成してmasterにマージするまで
ブランチを作成する。
git checkout -b create_test origin/master
なんか作業を行う。
完成したからリモートにpushする。
#diffを見る
git diff
git add -A
git commit
#masterに変更がないか確認する
git fetch
#masterに変更がある場合はrebaseする
git rebase origin/master
git push origin create_test
githubにアクセスしてプルリクエスト作成。
差分を確認して問題なければプルリクエスト!
レビュアーが確認して問題なければマージしてもらう。
問題がある場合はコメントを書いて作業者に修正してもらう。
レビュアーはマージしたら作業ブランチも削除する。
削除実行!
これでmasterにマージができました。
releaseブランチにマージする場合は管理者(ここでは担当者を決めてる)が確認してmasterからマージする。