我有一个补丁,当我尝试使用git am应用它时,它会给出以下输出
Checking patch old/filename...
error: old/filename: does not exist in index
在补丁中,old/filename实际上移到了new/filename中,但是原始文件似乎已经从源码树中消失了。
那么这个错误是关于什么的,以及如何解决/绕过它?是否可以忽略它(使用--reject或更多)?
发布于 2021-07-28 23:26:14
“'git am”没有给出非常清晰的失败位置。我做了以下操作:使用"patch -p n patch_file“尝试。这个unix " patch”命令清楚地显示拒绝发生的位置。如果补丁命令有效,那么补丁文件是正常的。
我看到"patch -p n“命令起作用了,但"git am -p n”仍然失败,并出现模糊且令人困惑的错误消息“在索引中不存在”。我怀疑它只是找不到正确的文件。所以我把n调整为n-1。然后它就成功了。
因此,实际的原因是补丁arg应该输入n-1,其中n是“-p”命令的正确值。
简而言之,工作命令是"git am -p n-1 patch_file“。
https://stackoverflow.com/questions/19115772
复制相似问题