Ошибка при запуске 'git apply'
Не могли бы вы рассказать мне, как я могу устранить ошибку "patch not apply", когда я пытаюсь
'git apply-patch'?
$ git apply 0001-my.patch
error: patch failed:test.xml:114
error: text.xml: patch does not apply
У меня есть "test.xml" в моем локальном каталоге. И когда я делаю "git status", он показывает, что у меня нет локальных изменений.
Спасибо за любую помощь.
Ответы
Ответ 1
Вы можете попробовать:
git am -3
Если патч не применяется чисто, откиньтесь на трехстороннее слияние (git am
doc)
qneill упоминает в комментарии, что git apply
теперь имеет параметр --3way
:
теперь вы можете применять свои исправления, не сокращая контекст.
Поскольку он оставит конфликтующие половины в индексе и позволит вам вручную разрешать конфликты в рабочем дереве, "--3way
" подразумевает "--index
" и не может использоваться с "--cached
" или "--reject
".
Вы можете увидеть его в заметке о выпуске git1.7.12 (август 2012 года, чуть менее 3 лет после исходного вопроса)
"git apply
" научился подталкивать базовую версию и выполнять трехстороннее слияние, когда патч не относится точно к вашей версии.
Ответ 2
Ну, патч содержит информацию о том, что должно быть изменено на что. Если первое, что не соответствует содержимому файла, патч не применяется.
Ответ 3
Или вы также можете захотеть переустановить с помощью основного или исходного кода
git rebase origin
Просто чтобы убедиться, что вы находитесь на одной дорожке с последними изменениями, прежде чем вы начнете применять исправления от других парней.