Как разрешить конфликты выбора вишни, используя их изменения?

112

Моя git cherry-pick FOOпроизвела конфликт.

Я мог бы просмотреть конфликтующие файлы и удалить строки между <<<<<<<и =======и сами маркеры конфликтов, но я надеюсь, что есть более простой способ.

Я думаю, что svnэквивалент решился theirs-conflict.

Как мне это сделать git?

Я не хочу, так git checkout --theirs <file>как это, кажется, дает тот же результат, что и git checkout foo <file>вместо простого git diff FOO~..FOO <file>применения.

antak
источник

Ответы:

199

Сначала вы должны отменить выбор вишни, попробуйте запустить это

git cherry-pick --abort

Во-вторых, попробуйте выбрать вишню, но на этот раз вы получите их изменения, а не ваши, поэтому сделайте следующее:

git cherry-pick --strategy=recursive -X theirs {Imported_Commit}
Эльхади дп ıpɐɥ ן ǝ
источник
6
Немного больше информации о том, что делают эти переключатели, можно найти на stackoverflow.com/questions/2268172/…
antak
27
Я попробовал это точно: git cherry-pick --strategy=recursive -X theirs 1b92440и я до сих пор запрошен неразрешенный конфликт: Unmerged paths: deleted by them: (file path). Любая идея?
плов
Более понятный способ сброса настроек после неудачного выбора / слияния - использоватьgit reset --merge
Pylinux
10
git cherry-pick --abort- это рекомендуемый способ отменить операцию выбора вишни.
tommyk 05
У меня нет -Xвыбора git cherry-pick. git 1.7.2.3.
Фрэнк