1. 冲突的本质与发生场景
每个开发者都经历过这样的时刻:当你信心满满地执行git merge或git rebase后,屏幕上突然跳出"CONFLICT"的红色警告。这种场景就像两个作家同时修改同一段文字——Git不知道应该保留哪个版本,于是把决定权交给你。
冲突通常发生在以下三种场景:
- 并行修改同一行代码:团队成员A和B同时修改了file.py第42行的同一个函数
- 文件删除与修改冲突:开发者A删除了config.json,而开发者B同时修改了这个文件
- 二进制文件冲突:多人同时修改了图片、PDF等不可合并的文件
提示:冲突不是错误,而是分布式开发的正常现象。专业的团队会将冲突解决视为代码审查的延伸环节。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 冲突预防策略
2.1 分支管理规范
采用Git Flow等成熟的分支模型能显著降低冲突概率:
main分支只接受经过测试的稳定代码- 每个新功能在独立的
feature/xxx分支开发 - 使用
--no-ff参数合并分支保留完整历史
bash复制# 创建功能分支的正确姿势
git checkout -b feature/user-auth main
git push -u origin feature/user-auth
2.2 频繁提交与同步
我建议团队遵守以下准则:
- 每天至少
pull一次主分支代码 - 每个完整功能点提交一次(非每行代码)
- 提交信息遵循[Conventional Commits]规范
bash复制# 交互式变基整理提交历史
git rebase -i HEAD~3
3. 冲突解决全流程
3.1 识别冲突文件
运行git status会显示包含冲突的文件:
code复制Unmerged paths:
both modified: src/utils/validator.js
冲突文件内会有明显的标记:
javascript复制<<<<<<< HEAD
function validateEmail(email) {
=======
const validateEmail = (email) => {
>>>>>>> feature/new-validatio
