无法应用Git修补程序(用链接替换文件)

无法应用Git修补程序(用链接替换文件),git,Git,在Git存储库中,我希望用指向存储库外部文件的软链接替换现有文件。(为了清楚起见,我想引用一个由外部工具自动生成的文件。) 一切都很酷。 我从这个提交中获得了git格式的补丁-没有问题。 但当我尝试应用此修补程序时 $ git am < PATCH Applying: PATCH fatal: unrecognized input Patch failed at 0001 PATCH ... $git am

在Git存储库中,我希望用指向存储库外部文件的软链接替换现有文件。(为了清楚起见,我想引用一个由外部工具自动生成的文件。)

一切都很酷。 我从这个提交中获得了git格式的补丁-没有问题。 但当我尝试应用此修补程序时

$ git am < PATCH
Applying: PATCH
fatal: unrecognized input
Patch failed at 0001 PATCH
...
$git am
git apply产生类似但不太详细的结果。
有办法摆脱这种局面吗?
这种行为是正常的,还是一个bug


提前谢谢

尝试不使用@janos指出的
,这个问题在较新的git版本中不存在。

事实上,从源代码构建(最近的)git解决了这个问题,所以很明显在格式补丁中有一个bug。

经过更多的尝试后,它看起来像git中的bug,因为将提交一分为二(git rm…commit;ln-s…commit)会生成适用的补丁。我无法用git 1.8.4.3重现这种行为。我按照您的步骤创建了一个补丁,并
git格式的补丁-1
,然后我切换回源分支,可以毫无问题地应用补丁。
$ git am < PATCH
Applying: PATCH
fatal: unrecognized input
Patch failed at 0001 PATCH
...
git am PATCH