Ошибка при запуске git apply - PullRequest
       65

Ошибка при запуске git apply

11 голосов
/ 04 декабря 2009

Подскажите, пожалуйста, как я могу устранить ошибку «патч не применяется» при попытке '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', это показывает, что у меня нет локальных изменений.

Спасибо за любую помощь.

Ответы [ 3 ]

12 голосов
/ 04 декабря 2009

Вы можете попробовать:

git am -3

Если патч не применяется корректно, используйте трехстороннее слияние (git am doc )


qneill упоминает в комментариях , что git apply теперь имеет опцию --3way :

теперь вы можете применять свои патчи без необходимости уменьшать контекст.
Поскольку он оставляет конфликтующие половины в индексе и позволяет вам вручную разрешать конфликты в рабочем дереве, «--3way» подразумевает «--index» и не может использоваться с «--cached» или «--reject».

Вы можете увидеть это в примечании к выпуску git1.7.12 (август 2012, чуть менее 3 лет после первоначального вопроса)

"git apply" научился покачивать базовую версию и выполнять трехстороннее объединение, когда патч не совсем подходит для вашей версии.

2 голосов
/ 04 декабря 2009

Ну, в патче есть информация о том, что нужно поменять на что. Если первое, что не соответствует содержимому файла, патч не применяется.

0 голосов
/ 04 декабря 2009

Или вы также можете сделать ребаз с main или origin

git rebase origin

Просто чтобы убедиться, что вы находитесь на одной дорожке с последними изменениями, прежде чем вы начнете применять патчи от других парней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...