执行 git apply 时出现错误“删除 1 个前导路径名组件时 git diff 标头缺少文件名信息”

kra*_*t10 8 git git-diff git-apply

我通过命令创建了一个差异文件:

git --no-pager diff --no-index --stat pathA pathB >\diff.log

接下来,我执行了一个命令:

git apply --index --ignore-space-change --ignore-whitespace \diff.log

在执行过程中,我遇到了一个错误:

错误:删除 1 个前导路径名组件时,git diff 头缺少文件名信息(第 2138 行)

第 2138 行导致:

第 2136 章

2137 新文件模式 100644

2138 索引 0000000000000000000000000000000000000000..e69de...

第 2139 章

我试过一个命令“git apply --reject ...”但它也没有用。我还添加了忽略 chmod 更改的配置(git config core.fileMode false)并且没有任何更改。

mil*_*hov 7

很可能是因为您在git config(~/.gitconfg) 中有此设置:

[diff]
  noprefix = true
Run Code Online (Sandbox Code Playgroud)

因此,您可以将其删除或更改为 false:

git config --global diff.noprefix false

  • 无论如何,有没有办法让“git apply”工作,同时又保留这个“noprefix”设置? (3认同)