我怎样才能git apply --index
不因为一个大块失败而完全中止?我有一个 100K+ 的补丁,其中有几十个文件被删除和添加,手动做patch -p1
, git add
,git rm
跳舞会很痛苦。
编辑: git apply --reject --index
似乎完成了三分之二的工作:应用补丁并暂存删除的文件以进行删除,但不添加新文件。
我怎样才能git apply --index
不因为一个大块失败而完全中止?我有一个 100K+ 的补丁,其中有几十个文件被删除和添加,手动做patch -p1
, git add
,git rm
跳舞会很痛苦。
编辑: git apply --reject --index
似乎完成了三分之二的工作:应用补丁并暂存删除的文件以进行删除,但不添加新文件。
从 git 版本 1.7.12 开始,git apply
有一个--3way
(or -3
) 选项,它将:
当它遇到合并冲突时,对于每个冲突的块,它将:
<<<<<<< ours
,=======
=======
和>>>>>>> theirs
标记之间。... 有冲突的文件不会被暂存:您必须手动修复它们,git add
然后再修复它们。
尝试git apply --reject <patchfile>
这就是我所做的,
首先,执行git apply --reject
. 然后以交互方式运行git add -p
并选择帅哥。add -p
你也可以使用其他 git GUI 来代替。要添加新文件,如果未添加,请手动添加。