atom 的 merge-conflicts 插件已停更且不可用,因其依赖旧版 api、不兼容新 atom 和 git 冲突格式;推荐改用 atom 原生手动处理或迁移到 vs code + gitlens。

Atom 的 merge-conflicts 插件已停止维护,2023 年起官方不再支持,且与 Atom 1.70+ 版本存在兼容性问题,无法可靠解析现代 Git 冲突标记(如 和 <code>====== 分隔线)——直接启用会跳过冲突块或报错 Cannot read property 'getBuffer' of undefined。
为什么 merge-conflicts 插件现在基本不可用
该插件依赖 Atom 旧版文本编辑器 API(TextEditor 的同步 buffer 接口),而 Atom 后期升级为异步渲染 + lazy buffer 加载机制;同时它未适配 Git 2.30+ 引入的扩展冲突格式(如 ours/theirs 标签、多段冲突嵌套)。实测在 macOS 14 / Windows 11 上,打开含冲突的文件时插件常静默失效,或点击 Accept Incoming 按钮后删掉整段而非仅冲突块。
替代方案:用 Atom 原生功能手动处理冲突(最稳)
不依赖插件,靠 Atom 自带高亮和快捷键即可安全操作:
使用约定式提交(Conventional Commits)从 Git 历史记录中生成结构化变更日志,支持多种格式、AI 增强型描述以及可自定义的范围……
-
Ctrl/Cmd + F搜索定位每个冲突起始位置 - 冲突结构固定为三段:
(当前分支)→ <code>======(分隔线)→>>>>>> branch-name(传入分支) - 用鼠标或
Shift + ↑/↓选中从到 <code>>>>>>>的整块(含三行标记),删掉不需要的版本,保留一行======上方或下方内容 - 删完必须确保只剩合法代码(无残留
或 <code>>>>>>>),否则git add会失败并提示fatal: Path 'xxx' is in conflict
想图形化操作?换 VS Code + GitLens(推荐)
Atom 已于 2022 年 12 月正式归档,长期看迁移是必然。VS Code 中 GitLens 插件对冲突处理更鲁棒:
- 自动识别所有冲突块,侧边栏显示
Ours / Incoming对比视图 - 点击
Accept Current Change或Accept Incoming Change直接写入,不碰其他行 - 支持
Accept Both Changes合并逻辑(非简单拼接,会去重空行和重复 import) - 冲突解决后自动触发
git add,避免漏提交
迁移成本极低:导出 Atom 的 config.cson 键位映射,VS Code 可通过 keybindings.json 复刻;主题和 snippets 也能一键导入。
真正麻烦的不是怎么点按钮,而是删冲突标记时多删了一行 return 语句,或者少删了半行注释——这类错误不会报 Git 错,但会在运行时崩掉。建议每次删完用 git diff --no-index <old><new></new></old> 快速扫一眼变更范围。










