我正在尝试应用我从http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html获取的补丁。我将其复制到文本编辑器中,并将其保存为my.patch
(我需要修复电子邮件,它已被混淆)。
我尝试将其应用于Git,但我收到此错误:
sashoalm@sashoalm-VirtualBox:~/Desktop/wine-git$ git am --signoff <my.patch
previous rebase directory /home/sashoalm/Desktop/wine-git/.git/rebase-apply still exists but mbox given.
这个神秘的错误消息让我不知道错误或我需要做些什么才能让它发挥作用。这个错误是什么意思?我该如何解决?
答案 0 :(得分:40)
git am --abort
为我工作,但git rebase --abort
没有。
发生了什么:我尝试应用修补程序,但它已损坏(可能是http://jsfiddle.net/90Lw12cf/):
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
并得到了错误。
答案 1 :(得分:37)
好的,事实证明我需要删除目录.git/rebase-apply
。它之后工作(或至少给我不同的错误,说电子邮件再次错误)。我仍然不知道错误实际意味着什么或错误原因。
修改:如下面的评论所示,git am --abort
或git rebase --abort
可能是解决问题的更好方法,但我尚未对其进行测试。