Git ошибка: предыдущий каталог для восстановления .git/rebase-apply все еще существует, но mbox указан
Я пытаюсь применить патч, который я взял из http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html. Я скопировал его в текстовый редактор и сохранил его как my.patch
(мне нужно было исправить сообщение электронной почты, оно было запутано).
Я попытался применить его с помощью Git, но я получаю эту ошибку:
[email protected]:~/Desktop/wine-git$ git am --signoff <my.patch
previous rebase directory /home/sashoalm/Desktop/wine-git/.git/rebase-apply still exists but mbox given.
Это критическое сообщение об ошибке не дает мне понять, что неправильно или что мне нужно сделать, чтобы он работал. Что означает эта ошибка? И как это исправить?
Ответы
Ответ 1
git am --abort
работал у меня, но git rebase --abort
не сделал.
Что случилось: я попытался применить патч, но он был поврежден (вероятно, копирование Gmail в теле):
git am bad.patch
И Git сказал:
Applying: python: fix Linetable case to LineTable in docstrings and comments
fatal: corrupt patch at line 56
Patch failed at 0001 python: fix Linetable case to LineTable in docstrings and comments
The copy of the patch that failed is found in:
/home/ciro/git/binutils-gdb/src/.git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Обратите внимание, как Git выдает решение: To restore the original branch and stop patching, run "git am --abort".
Затем я, очевидно, проигнорировал это сообщение и сразу же попробовал исправленную версию:
git am good.patch
и получил ошибку.
Ответ 2
Хорошо, оказалось, что мне нужно удалить каталог .git/rebase-apply
. Это работает после этого (или, по крайней мере, выдает мне другие ошибки, говоря, что электронная почта снова неверна). Я до сих пор не знаю, что на самом деле означает ошибка или почему произошла ошибка.
Изменить: Как показывают комментарии ниже, git am --abort
или git rebase --abort
может быть лучшим способом решения проблемы, но я не проверял это.