在Git的PR(Pull Request)提示冲突无法merge合并的解决方案
问题
假设有一个分支A,向master分支提交PR,然后发生无法自动解决的冲突,PR提示不能执行merge合并。
解决方案1
- 本地checkout检出并切换到A分支,pull拉取更新到最新代码
- 在本地A分支上,merge合并远程分支master
- 会提示无法合并,手动解决完冲突提交到A分支
- 回到PR,会发现PR已经无冲突
- 让有merge权限的人进行merge即可
注意:
优点:此方法适用于无merge权限的人操作
缺点:如果此PR最终被Declined拒绝的话,A分支上会包含PR目标分支的代码(本例中的master分支),造成代码污染。
解决方案2
- 本地checkout检出并切换到master分支,pull拉取更新到最新的master代码
- 手动执行将远程A分支合并到你本地的master分支,此时本地会看到冲突的文件
- 编辑冲突文件,手动解决冲突后,提交merge
- 回到PR,可以发现PR已经被merge了
注意:
优点:此方法仅限有merge权限的人操作
缺点:相比方案1,PR的源分支代码干净
建议
若PR大概率一定会被合并,建议使用方案1,更符合正常流程
如果您认为本文对得起您所阅读他所花的时间,欢迎点击右下角↘ 推荐。您的支持是我继续写作最大的动力,谢谢
作者:沧海月明
出处:http://www.cnblogs.com/xxcanghai/
本文地址:http://www.cnblogs.com/xxcanghai/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。