讲师中心 微信公众号
AI工具推荐 视频效率加速

Git怎么解决合并冲突_Git merge冲突解决步骤教程【实战】

老伟姑娘_8769

老伟姑娘_8769

发布时间:2026-04-05 09:39:04

|

570人浏览过

|

来源于php中文网

原创

看到 CONFLICT (content) 应立即停止操作,先用 git status 定位冲突文件,手动清除冲突标记(<<<<<<<、=======、>>>>>>>)并保留最终代码,再逐个 git add <filename>,最后 git commit 完成合并。

git怎么解决合并冲突_git merge冲突解决步骤教程【实战】

看到 CONFLICT (content) 就该停手,别急着 git add .

Git 检测到同一文件的同一段落被两个分支各自修改,就会中止合并并报出 CONFLICT (content): Merge conflict in <filename>。这不是错误,而是 Git 在说:“这段我没法替你决定,得你来拍板”。此时工作区已处于“未完成合并”状态,git status 会显示 both modified 的文件,且这些文件里塞满了冲突标记。

  • 别一上来就 git add . —— 这会把带冲突标记的“半成品”一起暂存,后续提交反而更难回退
  • 先用 git status 锁定具体哪些文件冲突,只打开它们,其他文件不用碰
  • 冲突标记长这样:<<<<<< HEAD(当前分支内容)、=======(分隔线)、>>>>>> branch-a(待合并分支内容)—— 三者必须**全部手动删掉**,只留下你确认保留或整合后的最终代码
  • 改完一个文件后,立刻 git add <filename>,Git 才会把它从“未解决”列表里划掉

用 git mergetool 比纯手改快得多,但得先配好工具

图形化合并工具(比如 meld、bcompare、VS Code 内置的合并视图)能直观对比三方:BASE(共同祖先)、LOCAL(当前分支)、REMOTE(待合入分支),避免看花眼漏删标记。但它不会自动启动,得自己配。

  • 配一次就能长期用:git config --global merge.tool meld(换成 vscode 或 bcompare 也行)
  • 启动命令就是 git mergetool,它会逐个打开冲突文件,选好再保存退出即可
  • 注意:如果没配 merge.tool 直接运行 git mergetool,Git 会弹一堆提示问你用哪个工具,容易卡住
  • VS Code 用户可跳过配置,直接在冲突文件里点右上角“接受当前更改/接受传入更改/接受两者”,但记得最后仍要 git add 手动标记解决

git merge --abort 是安全网,但只在合并中途有效

改了一半发现理不清逻辑?或者误删了不该删的代码?别硬撑,git merge --abort 能退回合并前的状态——前提是还没执行 git commit。

Digital Labour
Digital Labour

24个商业自动化AI助手,覆盖销售拓展、获客、内容创作、SEO、广告文案、记账、提案、市场调研及商业计划等

下载
  • 一旦你已经 git commit 了冲突解决结果,--abort 就失效了,只能靠 git reset --hard ORIG_HEAD(如果没覆盖过)或翻日志找前一个 commit
  • 执行 git merge --abort 后,所有未 add 的修改都会恢复原样,已 add 的冲突文件也会还原成合并前内容
  • 警告:如果合并开始前本地就有未提交改动,--abort 可能无法完全复原——所以养成“合并前先 git status 确认干净”的习惯

解决完别忘 git commit,否则合并没真正完成

很多人以为删完冲突标记、git add 完就结束了,其实 Git 还等着你敲下最后一句 git commit。此时不写 -m 参数,Git 会自动弹出编辑器让你填提交信息——这是强制提醒你:这不是普通提交,是合并提交。

  • 提交信息建议写清楚来源,比如:git commit -m "Merge branch 'feature/login' into develop, resolve conflict in auth.js"
  • 如果用了 --no-commit 启动合并(例如想检查后再提交),那 git commit 就是必选项,跳过它等于没合并
  • 推送前务必 git status 确认输出是 “nothing to commit, working tree clean”——只要还剩一个 unmerged paths,远程仓库就拒绝你的 push

真正麻烦的不是冲突本身,而是改完没测试、提交没推、或者多人同时解决同一处却没同步方案。留个心眼:改完冲突,哪怕只是加个 console.log,也顺手跑一下相关功能。

热门AI工具

更多
Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

5547

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

2408

2023.08.10

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

4216

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1315

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1698

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

9763

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

940

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2584

2023.09.04

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

0

2026.10.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn