问题

外包的工作成果需要merge进master分支,但是有少量的patch文件没能直接打进去,git提示存在冲突。

解决

patch文件是在分支通过git format-patch commit-id命令生成的,git am patch命令如果存在冲突,这种问题一般可以这样解决

  • 简单方法

    1. 取消之前的修改:git am –abort
    2. 手动添加patch:patch -p1 < PATCH,手工解决冲突
    3. 提交代码:git commit -a

    这种方法无法保存patch的旧有提交信息。

  • 优雅方法

    1. 提交patch:git apply .git/rebase-apply/0001 –reject
    2. 根据rej文件手工解决冲突
    3. git add -A
    4. git am –resolved
    5. git push