git实战(5)提交代码的时候发现冲突了怎么办
1. 确认冲突文件
运行 git status 查看冲突文件(标记为 Unmerged paths):
git status
冲突文件会包含类似这样的标记:
<<<<<<< HEAD
你的代码
=======
别人的代码
>>>>>>> branch-name
2. 手动解决冲突
用编辑器(如 VS Code、IntelliJ 等)打开冲突文件:
- 删除冲突标记(
<<<<<<<,=======,>>>>>>>) - 保留需要的代码(或合并两者逻辑)
- 保存文件
提示:VS Code 等工具会直观显示冲突位置,支持一键选择保留哪个版本。
3. 标记冲突已解决
将修改后的文件标记为已解决:
git add <file_path> # 对每个解决后的文件执行
# 或
git add . # 添加所有已解决的文件
4. 完成提交或合并
- 如果是合并冲突(如
git merge引发):git commit # Git 会自动生成合并提交信息 - 如果是拉取冲突(如
git pull):git commit -m "Resolve merge conflicts" - 如果是变基冲突(如
git rebase):git rebase --continue
5. 验证并推送
git push # 推送解决后的代码
常见问题补充
-
放弃当前解决尝试:
git merge --abort # 终止合并 git rebase --abort # 终止变基 -
查看差异:
git diff # 查看未暂存的冲突 git diff --cached # 查看已暂存的更改 -
使用图形化工具(推荐新手):
git mergetool # 调用配置的图形化冲突解决工具(如 kdiff3、meld)
预防冲突的最佳实践
- 频繁拉取最新代码:
git pull --rebase - 小步提交,避免大段代码一次性修改
- 协作时及时沟通各自修改的范围
通过以上步骤,你可以系统性地解决 Git 冲突。关键点是:理解冲突原因,谨慎选择保留的代码,并确保解决后立即提交。
本文来自博客园,作者:NeoLshu,转载请注明原文链接:https://www.cnblogs.com/neolshu/p/19120864

浙公网安备 33010602011771号