Naoki Otsu

コンフリ解消時にどちらか一方を正としたいとき - git checkout --ours と --theirs

2016-12-20

gitでコンフリした時は、普通だと差分を1つ1つ見て手動で解決していく流れになるけど、
たまにどちらか一方を正として全ファイルのコンフリを解消させたい時がある

よくあるのが大規模な修正をやっていて最終的に作業ブランチにmasterやdevelopをマージしようとしたらコンフリするケース
この場合、大規模な修正をしていた側を正として全ファイルのコンフリを解消させたい事があります

こんな時のコマンドがgitでは準備されていて、それが git checkout --ours .
--oursは私たちのもの、つまり自分たちが直前まで作業していたもの、正確に言うとローカル側を受け入れるコマンド
実行すると修正していた側を正として全ファイルのコンフリを解消してくれます

逆に --theirs は彼らのもの、今回の場合はmaster、正確に言うとリモート側を正とするコマンドです
git checkout --theirs . すると全ファイルをリモート側を正としてコンフリを解消します

どっちがどっちだっけ?ってなるので備忘録でした。

https://easyengine.io/tutorials/git/git-resolve-merge-conflicts/