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/