部分git适用

chx*_*chx 18 git

我怎么能git apply --index因为单个大块失败而完全不中止?我有几十个删除,并添加文件的100K +补丁,它会是一个痛苦的做patch -p1,git add,git rm手动舞蹈.

编辑: git apply --reject --index似乎做了三分之二的工作:修补程序已应用,删除的文件将被删除,但不会添加新文件.

mpa*_*r17 14

从git版本1.7.12开始,git apply有一个--3way(或-3)选项,它将:

  1. 应用它可以找出的任何更改并将它们分级(即:将它们添加到工作树和索引中),
  2. 添加任何新文件并进行分级(即:将它们添加到工作树和索引中),以及
  3. 遇到合并冲突时,对于每个冲突的大块,它都会:

    1. 将您正在修补的分支中的代码<<<<<<< ours=======标记放在一起,然后,
    2. 将补丁文件中的代码放在=======>>>>>>> theirs标记之间.

    ...有冲突的文件不会被暂存:你必须手动修复它们,git add然后再进行修改.


Shi*_*dim 12

这就是我所做的,

首先,执行git apply --reject. 然后运行git add -p并交互选择帅哥。add -p您也可以使用其他 git GUI来代替。要添加新文件(如果未添加),请手动添加。


Pla*_*mer 6

尝试 git apply --reject <patchfile>