Git am patch冲突解决

在Android系统定制工作中经常会遇上Codebase升级,冲突是经常发生的事情,一般项目组长会把那些冲突的提交生成一个个patch,分到对应模块的负责人,检查提交的代码并合入。

在合入patch的时候没有成功:
$ git am -k 0001-XXX.patch

1
2
3
4
5
patch未成功合入,错误信息
...
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".

解决:

  • $ git apply - -reject 0001-XXX.patch先合入没有冲突的部分,根据同目录下的*.rej文件找出冲突地方,解决这些冲突
  • $ git add * 将本次改动添加到缓存区
  • $ git am - -resolved 接受修改,完善patch
  • $ git push
听说打赏的人运气都不会太差