当我尝试从文件应用补丁时,我看到:
错误:没有完整索引行无法将二进制补丁应用于'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
随后,我成功地应用了我的补丁文件!不知道为什么他要在已删除的文件上进行二进制比较...
--binary
命令行选项,它被diff
和diff-index
两者都支持。 - pimlottc--reject
参数,因此git apply --reject filename.diff
将应用可行的部分并拒绝其余部分。 - gingerCodeNinjagit log
找到它。它可能比这个示例中显示的数字要长得多。 - Nick Hope