Git,リベースする際のコンフリクトを解消する.

前回の記事でマージする際のコンフリクトをCLIのみで行う方法を書きました。

ここではRebaseする際のコンフリクト解消法を同様に書いていきます。

現在の作業ブランチをdev、取り込みたいブランチをmainとします。

これらがrebaseする際にconflictしている場合、

 $ git rebase main \\ コンフリクト発生

これで、conflicted.txtにコンフリクトが発生しているとします。 このファイルの変更に対してdevで行った変更を取り込みたい場合は

 $ git checkout --theirs conflicted.txt

また、mainでの変更を取り込みたいときは

 $ git checkout --ours conflicted.txt

となります。 Mergeのときと異なり、Rebaseのときは対応するブランチと一人称/三人称の関係が逆になっているので注意が必要です。