今のチームでのワークフローです。
作業前にはPullをする
後々コンフリクトなどの可能性を下げるために作業を始める前に一度origin masterをpullする。
作業ブランチを切る
今回は登録時にあるバグを修正していきます。
git checkout -b bug/fix_registration
まず修正作業を行うブランチを作成しcheckoutします。
Masterにマージする準備
作業を終えたらコミットをしてマージする準備を始めます。今のワークフローではプルリクなどはないので直接masterにマージしちゃいます。
まず最初にmasterを最新の状態にしておきます。
git checkout master
git pull
もう一度バグ修正ブランチに戻りmasterの上にリベースします。こうすることによって綺麗なコミット履歴を保つことができます。
git checkout bug/fix_registration
git rebase master
ブランチをマージ
最後にmasterブランチに戻りバグ修正ブランチをマージします。
git checkout master
git merge bug/fix_registration
今回の行ったマージはfast forwardマージと呼ばれるもので今回のようなマイナーなバグ修正などの時に使います。長期的な作業を行うブランチのマージの場合はマージコミットをするようにしている。
git merge --no-ff feature/add_module
マージコミットを作成することによって履歴上feature/add_module
で行った作業を一つのコミットにまとめることができる。この追加が原因でアプリケーションが壊れた場合はこのコミットをrevertすることで簡単に戻すことができる。