当我尝试使用以下代码执行修补程序时:
git am 0001-someFile.patch
但是我收到了这个错误:
error: patch failed: src/***/file.c:459
error: src/***/file.c: patch does not apply
Patch failed at 0001 someFile.patch
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".
我正在尝试使用以下方法手动合并冲突:
git mergetool --tool=meld
但我得到了:
No files need merging
我该如何解决这个问题? 我得到了保存错误的文件的名称,但不知道该行(它是一个大文件)
也许有更好的方法来执行此类修补?
答案 0 :(得分:1)
我负责处理我工作中的所有补丁。我已经多次发生这种事了。补丁无法合并。发生这种情况的原因是因为主分支具有修补程序未考虑的更改,这会阻止其正确修补。根据我的经验,这可能是由几件事引起的:
这是我最成功的流程。 (这假设此人正在主人以外的分支上发展)
确保您的补丁与原始主分支保持同步。发送该补丁并希望在对主服务器进行太多更改之前应用补丁。
答案 1 :(得分:0)
您需要进行3向合并:
git am -3 0001-someFile.patch
git mergetool -t meld