[Git] git merge で conflict したファイルをどちらか一方のブランチの内容で更新する方法
CLI と SourceTree のそれぞれでの対応。
CLI でコンフリクトを解決する
git checkout コマンドには –ours や –theirs オプションを指定することもできます。これを使うと、何かをマージする代わりに、どちらか一方を選択して簡単にチェックアウトできます。 これは、バイナリデータのコンフリクトを解消するとき(使いたい方を選べばよい)や、他のブランチから特定のファイルを取り込みたいときに便利でしょう。後者であれば、マージコマンドを実行してから該当のファイルを –ours か –theirs を指定してチェックアウトし、コミットしてください。
今いるブランチが --ours
でマージしようとしているブランチが --theirs
となります。
% git checkout --theirs .
Updated 1 path from the index
後はいつも通り git add
git commit
を行います。
% git add .
% git commit
上述のようにパスを指定できるので、ファイル単位やディレクトリ一括指定も可能です。
SourceTree でコンフリクトを解決する
コンフリクトが起きているファイルを選択し、右クリックをすると「 競合を解決」メニューが表示されます。