我有一个包含单行更改的补丁文件。运行git am
失败并显示以下消息:
error: patch failed: Pages/Index.cshtml.cs:15
error: Pages/Index.cshtml.cs: patch does not apply
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Applying: restrict index page to internal users
Patch failed at 0001 restrict index page to internal users
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
目标文件在更改的行上方确实有几行额外的行。这是因为 git 无法确定单行更改的位置而失败吗?如果是这样,这是否意味着目标文件和源文件需要本质上相同?
使用相同的补丁运行git apply
会产生以下消息:
error: patch failed: Pages/Index.cshtml.cs:15
error: Pages/Index.cshtml.cs: patch does not apply
我相信这基本上是相同的信息,只是友好(或者,至少,不那么冗长。)
我是否正在尝试一些补丁不适合的东西?即,将更改从一个存储库应用到另一个不具有文件内容等效性的存储库。
我确实找到了这篇文章,但是当使用相同的解决方案时,我得到的只是没有变化和一个简单的.rej
文件输出。