merge-conflicts 插件已停更且不可靠:在 atom 1.70+ 上静默失效或误删代码,无法解析 git 2.30+ 的新冲突格式,存在三大硬性缺陷及严格使用条件,推荐改用原生搜索+手动编辑+git diff 验证的组合方案。

别用了,merge-conflicts 插件已停更且不可靠。 它在 Atom 1.70+ 上大概率静默失效,或删错整段代码;2023 年起官方不再支持,Git 2.30+ 的冲突格式(如 ours/theirs 标签、嵌套冲突)它根本解析不了。
为什么 merge-conflicts 插件现在点不动、不响应、删错行
它卡在三个硬性断点上:
-
Cannot read property 'getBuffer' of undefined:插件调用的是 Atom 旧版同步 buffer API,而新版本改用异步 lazy buffer,一读就崩 - 冲突标记识别失败:现代 Git 写的
和 <code>>>>>>> feature/login中间可能夹着空行或注释,插件直接跳过整块 - Accept Incoming 后删掉 return 语句:实测在 macOS 14 / Windows 11 上,点击按钮后常误删下一行合法代码,Git 不报错,但运行时直接
ReferenceError
如果非要临时用,必须满足这四个条件
不是装上就能用——缺一不可:
- .git 文件夹必须真实存在于你通过
File → Add Project Folder添加的根目录下 - 终端进该目录执行
git status必须输出Unmerged paths(不是both modified) - 文件已保存(不能是
Untitled标签页),且三段标记完整:、<code>=======、>>>>>> branch-name - Atom 必须完全重启(不是重载窗口),尤其装过
git-plus或 GitHub 官方包之后
真正在用的替代方案:原生 + 命令行组合
比等插件修复快得多,也更安全:
- 用
Ctrl/Cmd + F搜定位每个冲突起始位置 - 手动选中从
到 <code>>>>>>> branch-name的整块(含三行标记) - 删掉不需要的版本,只留
=======上方(当前分支)或下方(传入分支)的代码 - 删完立刻执行
git diff --no-index <old><new></new></old>扫一眼变更范围——多删半行return或少删注释末尾,这里一眼就能看出
真正麻烦的从来不是怎么点 Accept Current,而是删完残留一个 或漏掉半行 import —— 这些错误 Git 不拦,但上线就崩。建议把 <code>git diff --no-index 加进日常检查动作里,别省那两秒。











