如何让git apply --index
完全不中止只是因为一个大块失败了?我有一个100K +补丁,删除并添加了几十个文件,手动进行patch -p1
,git add
,git rm
跳舞会很痛苦。
编辑:git apply --reject --index
似乎完成了三分之二的工作:修补程序已应用,删除的文件将被删除,但不会添加新文件。
答案 0 :(得分:12)
自git版本1.7.12起,git apply
has a --3way
(or -3
) option将:
当遇到合并冲突时,对于每个冲突的大块,它都会:
<<<<<<< ours
和=======
标记之间,=======
和>>>>>>> theirs
标记之间。 ...有冲突的文件不会被暂存:您必须手动修复它们,然后git add
它们。
答案 1 :(得分:2)
尝试git apply --reject <patchfile>
答案 2 :(得分:0)
这就是我的工作
首先,执行git apply --reject
。然后运行git add -p
并以交互方式选择块。除了add -p
,您还可以使用其他git GUI。要添加新文件,请手动添加(如果未添加)。