在代码合并时遇到 conflict
是常有的事情,有些内容是自动生成的资源文件,手工处理起来很麻烦,某一文件如何全部以某一分支的内容为准?
使用 checkout --theirs .
checkout --ours .
。
场景实例
Engineer A、B 同时从 master checkout 自己的功能分支:
# Engineer A |
Engineer A 开发比较快先进行了 push:
git add . |
Engineer B 再 push 前需要拉最新的 master,因为改到了同一行代码,出现代码冲突。
merge 合并代码
使用 merge 命令导致的代码冲突。
git checkout master |
在处理冲突的过程中:
# 以自己(Engineer B)的代码为准 |
rebase 合并代码
使用 rebase 命令导致的代码冲突。
git checkout master |
在处理冲突的过程中:
# 以自己(Engineer B)的代码为准;与 merge 相反,可以理解为 rebase 时主干是他人的分支 |