当我尝试从文件应用补丁时,我看到
错误:如果没有完整的索引行,则无法将二进制补丁应用于“my/resource.png” 错误:my/resource.png:补丁不适用
我添加my/resource.png
了我制作补丁的提交。如何启用全索引支持?
当我尝试从文件应用补丁时,我看到
错误:如果没有完整的索引行,则无法将二进制补丁应用于“my/resource.png” 错误:my/resource.png:补丁不适用
我添加my/resource.png
了我制作补丁的提交。如何启用全索引支持?
签出要从中创建补丁的分支。运行此命令:
git diff-index 79fd4d7 --binary > ~/Desktop/my-patch
79fd4d7
在您想要区分的提交范围之前的提交的占位符在哪里。(例如,我想要一个包含以下前三个提交的补丁:
aaa02b0 third commit mine
aabbbcc second commit mine
bb82aed first commit mine
79fd4d7 old commit
然后检查你的新分支并运行git apply ~/Desktop/my-patch
如果您只删除了一些文件并收到相同的消息,我想以另一种方式发布。因为我不再有权访问源代码(通过重置到另一个提交),我需要另一个解决方案(而不是创建一个新的补丁文件)。
因此我从我的补丁文件中删除了以下部分:
diff --git a/MyProject/Libraries/some.dll b/MyProject/Libraries/some.dll
deleted file mode 100644
index a0908d7..0000000
Binary files a/MyProject/Libraries/some.dll and /dev/null differ
diff --git a/MyProject/Libraries/some.dll.mdb b/MyProject/Libraries/some.dll.mdb
deleted file mode 100644
index d3c3912..0000000
Binary files a/MyProject/Libraries/some.dll.mdb and /dev/null differ
之后我可以成功应用我的补丁文件!不知道他为什么要对已删除的文件进行二进制比较...