GITワークフロー


今のチームでのワークフローです。

作業前には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することで簡単に戻すことができる。