You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git入门:如何合并两个分支中的README.md文件

解决Git合并冲突与mergetool内容粘连问题

冲突本质

你遇到的冲突是因为两个分支对README.md的同一区域(邮箱信息)做了互斥修改:第一个分支保留了邮箱,第二个分支删除了它,Git无法自动判断最终保留哪版内容,所以触发了手动冲突解决流程。

解决mergetool内容粘连问题

这种“修改一方同步改变另一方”的情况,大多是你当前用的mergetool开启了联动编辑模式(比如部分IDE的同步视图),或者工具本身的窗口关联逻辑导致的。最快的解决办法是换用无联动的基础合并工具:

  • 执行git config --global merge.tool vimdiff,将默认合并工具改为vimdiff(终端原生工具,无联动)
  • 重新执行git mergetool,会打开三个独立窗口:本地分支内容、公共基础版本、待合并的远程分支内容,你可以单独编辑中间的合并结果窗口,保存后退出即可完成合并。

新手友好的手动解决冲突方法(无需依赖工具)

如果觉得mergetool复杂,直接手动编辑冲突文件更直观:

  1. 合并失败后,直接打开README.md,你会看到Git自动插入的冲突标记:
    <<<<<<< HEAD
    (这里是当前第三个分支的内容,包含邮箱信息)
    =======
    (这里是第二个分支的内容,已删除邮箱)
    >>>>>>> 你的第二个分支名称
    
  2. 保留你需要的内容:
    • 要保留“删除邮箱”的结果:删掉<<<<<<< HEAD到=======之间的所有内容,再删除所有冲突标记
    • 要保留邮箱:删掉=======到>>>>>>>之间的所有内容,再删除所有冲突标记
  3. 编辑完成后,执行git add README.md,然后git commit完成合并。

额外提示

新手阶段优先用手动编辑的方式处理冲突,能帮你更清晰理解Git冲突的本质。等熟悉Git的合并逻辑后,再尝试配置适合自己的mergetool。

内容的提问来源于stack exchange,提问作者unwrittenbook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 14:45:36