git am PATCH_FILE_NAME自动打patch失败后的操作方法

1.找到打入patch不成功的patch

从打入patch的失败信息可以找到

2.根据patch的index重新打入 patch,将可以合并的内容合并,冲突的部分单独生成文件

比如出问题patch的index为0023,那么就去.git/rebase_apply目录下可以找到,假如发生patch失败时的文件为arch/arm/kvm/guest.c

git apply .git/rebase_apply .git/rebase_apply/0023 --reverse (经过这一操作后会生成arch/arm/kvm/guest.c.rej文件,这里面保存着冲突的内容)

3.使用编辑器手动编辑arch/arm/kvm/guest.c,将arch/arm/kvm/guest.c.rej中的内容加入到arch/arm/kvm/guest.c中,以解决冲突

4.删除生成的冲突文件

rm arch/arm/kvm/guest.c.rej

5.将修改后的文件arch/arm/kvm/guest.c加入到git,使其被git跟踪到

git add arch/arm/kvm/guest.c

6.继续打入剩余的补丁

git am --resolved --reject