変更を使用してチェリーピックの競合を解決するにはどうすればよいですか?


110

ぼくの git cherry-pick FOOは対立を生み出しました。

競合するファイルを調べて、<<<<<<<との間の行を削除することができます=======、紛争のマーカーそのものを、私はもっと簡単な方法があります願っています。

svn同等のものを選択していたと思いますtheirs-conflict解決するをしていたます。

これをどのように行うのですか gitですか?

それは単に適用されるのではなくgit checkout --theirs <file>、同じ結果を生み出すように見えるので、私は欲しくない。git checkout foo <file>git diff FOO~..FOO <file>

回答:


196

まずチェリーピックを元に戻し、これを実行してみてください

git cherry-pick --abort

次に、チェリーピックを作ってみますが、今回は自分のものではないので、次のようにします。

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

6
これらのスイッチの動作に関するもう少し詳しい情報は、stackoverflow.com
questions / 2268172 /…から

27
私はこれを正確に試しました:git cherry-pick --strategy=recursive -X theirs 1b92440まだ解決されていない競合のプロンプトが表示されUnmerged paths: deleted by them: (file path)ます:。何か案が?
pilau 2013

失敗したチェリーピック/マージ後にリセットするために、より理解しやすい方法で使用することですgit reset --merge
Pylinux

10
git cherry-pick --abort-これはチェリーピック操作を元に戻すための推奨される方法です。
tommyk 2014

には-Xオプションがありませんgit cherry-pick。git 1.7.2.3。
フランク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.