在多人共同维护一个 git 项目的时候, 合并代码难免会遇到冲突的情况.
假设当前分支是 tmp
分支, 以 git merge dev
为例, 把 dev
的代码合并到 tmp
分支
处理冲突大致有3种情况:
- 使用
tmp
的代码 - 使用
dev
的代码 - 根据具体冲突的行进行处理
建议在遇到代码冲突的时候, 每个冲突的文件都要分析一下, 再决定采取哪种方案.
1. 使用自己分支的代码 (tmp
)
所有冲突的代码都使用自己分支的代码:
sh
git checkout --ours .
指定的目录或者文件使用自己分支的代码:
sh
git checkout --ours path/to/conflicted/file
2. 使用其他分支的代码 (dev
)
所有的冲突都使用其他分支的代码:
sh
git checkout --theirs .
指定的目录或者文件使用其他分支的代码:
sh
git checkout --theirs path/to/conflicted/file