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


112

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

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

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

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

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

Ответы:


199

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

git cherry-pick --abort

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

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

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.
Фрэнк
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.