1. ホーム
  2. git

[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?

2022-07-17 21:04:32

質問

私の場合 git cherry-pick FOO は衝突を発生させました。

競合しているファイルを調べて、以下の行を削除することができます。 <<<<<<<======= とコンフリクトマーカーそのものを削除する必要がありますが、もっと簡単な方法があればと思います。

私は svn に相当するのは theirs-conflict を選んで解決していました。

でどうすればいいのでしょうか? git ?

私は git checkout --theirs <file> と同じ結果になりそうなので git checkout foo <file> を得る代わりに git diff FOO~..FOO <file> が適用されます。

どのように解決するのですか?

まず、チェリーピックを元に戻し、次のように実行してください。

git cherry-pick --abort

次に、チェリーピックですが、この場合、自分の変更点ではなく、相手の変更点を取得することになりますので、このようにします。

git cherry-pick --strategy=recursive -X theirs {Imported_Commit}