我可以告诉我,当我尝试时,如何解决'补丁不适用'错误 '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'时,它表明我没有本地更改。
感谢您的帮助。
答案 0 :(得分:12)
您可以尝试:
git am -3
如果补丁不能完全应用,请退回3向合并(
git am
doc)
qneill在the comments中提及git apply
now have a --3way
option:
您现在可以在不减少上下文的情况下应用补丁 由于它会在索引中保留冲突的一半并允许您手动解决工作树中的冲突,“
--3way
”表示“--index
”,并且不能与“--cached
”一起使用或“--reject
”。
您可以在git1.7.12 release note(2012年8月,原始问题后不到3年)中看到它
“
git apply
”学会了摆弄基础版本并在补丁不完全适用于您拥有的版本时执行三向合并。
答案 1 :(得分:2)
嗯,补丁有关于应该改变什么的信息。如果第一个与文件内容不匹配,则补丁不适用。
答案 2 :(得分:0)
或者您可能还想要使用主要或原始
进行变基git rebase origin
在您开始应用其他人的补丁之前,只是为了确保您与最新的更改保持同一轨道。