文章中如果有图看不到,可以点这里去 csdn 看看。从那边导过来的,文章太多,没法一篇篇修改好。

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  # 推送解决后的代码

常见问题补充

  1. 放弃当前解决尝试

    git merge --abort      # 终止合并
    git rebase --abort     # 终止变基
    
  2. 查看差异

    git diff               # 查看未暂存的冲突
    git diff --cached      # 查看已暂存的更改
    
  3. 使用图形化工具(推荐新手):

    git mergetool         # 调用配置的图形化冲突解决工具(如 kdiff3、meld)
    

预防冲突的最佳实践

  • 频繁拉取最新代码:git pull --rebase
  • 小步提交,避免大段代码一次性修改
  • 协作时及时沟通各自修改的范围

通过以上步骤,你可以系统性地解决 Git 冲突。关键点是:理解冲突原因,谨慎选择保留的代码,并确保解决后立即提交

posted @ 2025-08-23 19:23  NeoLshu  阅读(1)  评论(0)    收藏  举报  来源