跳到主要内容

三方文本差异与合并查看器

将两个编辑后的文本版本与共同的基础版本进行三方对比合并(类似 Git merge)。自动解决非冲突的编辑,并通过逐行状态表报告冲突。

输入

当本地和远程对同一行做了不同修改时,以哪一方为准。

输出

合并结果

摘要

结果
指标
No data yet

逐行差异

结果
状态基础版本本地版本远程版本
No data yet
这对您有帮助吗?

使用此工具的更多方式

REST API

curl -X POST https://api.iotools.cloud/v1/tool/3-way-text-diff-merge-viewer \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "baseText": "Line1\nLine2\nLine3",
    "localText": "Line1\nLine2 changed by local\nLine3 local edit",
    "remoteText": "Line1\nLine2\nLine3 remote edit\nLine4",
    "conflictStrategy": "markers"
  }'

替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。

让 AI 代理执行

Use the IOTools `3-way-text-diff-merge-viewer` tool (3-Way Text Diff & Merge Viewer) on this input:

YOUR_INPUT_HERE

将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/3-way-text-diff-merge-viewer/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="三方文本差异与合并查看器 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

每次 API/MCP 调用费用5 积分起
需要更多积分?查看定价

也可通过

使用指南

什么是三方文本差异与合并?

三方合并会比较文档的两个编辑副本——本地版本和远程版本——与它们共同的基准版本(即共同祖先)进行对比。这正是 Git、Mercurial 等版本控制系统在合并分支时所做的工作,但本工具可以对任何纯文本执行此操作:配置文件、文章、代码片段、CSV 行,以及其他基于行的内容。

与普通的双向差异对比(只告诉你什么发生了变化)不同,三方合并还能告诉你修改了内容,以及编辑是否可以自动合并:

  • 双方都未修改的行保持不变。
  • 只有一方修改的行会自动合并。
  • 双方做了相同修改的行视为一次达成一致的更改。
  • 双方做了不同修改的行会被标记为冲突,需要你手动解决。

如何使用

  1. 粘贴基准文本——即原始的共同祖先版本。
  2. 粘贴本地远程版本——即从基准版本出发、各自产生分歧的两个版本。
  3. 选择冲突时的处理方式:显示 Git 风格的冲突标记(<<<<<<< / ||||||| / ======= / >>>>>>>)以便手动解决,或者自动解决所有冲突——优先使用本地版本、优先使用远程版本,或回退到基准文本。
  4. 合并结果框中查看合并后的文本,在摘要表中查看冲突数量统计,在逐行差异表中查看每个未更改、已更改或冲突区域的完整明细。

结果会在你输入时实时更新——无需点击按钮。

冲突是如何检测的

该工具使用最长公共子序列(LCS)行差异算法,将每个版本的行与基准版本对齐——这与大多数文本差异工具使用的技术相同。在本地和远程差异中找到的匹配行将三个文本锚定在一起;两个锚点之间的内容作为一个块进行比较。只有当双方都修改了同一个块修改内容不一致时,才会被判定为冲突——如果只有一方进行了修改,则始终会干净地合并。

常见问题

这能替代 git merge 吗? 不能——它是一个轻量级的浏览器端近似工具,适用于在 Git 工作流之外合并文本(例如两个人编辑同一份文档,或协调配置偏差)。它不会影响你的仓库或文件系统。

冲突标记是什么意思? <<<<<<< LOCAL======= 之间是你本地版本中产生冲突的行;=======>>>>>>> REMOTE 之间是远程版本中产生冲突的行;中间的 ||||||| BASE 部分显示原始文本以供参考——这与 Git 在合并冲突中使用的约定相同。

为什么我没有修改的某一行被标记为已更改? 差异对比是基于整行进行的。如果某一行因为上方的行被添加或删除而改变了位置,LCS 算法可能会以不同的方式重新匹配它。将长段落拆分成较短的行通常能获得更精确的结果。

有大小限制吗? 有——每个版本最多 2,000 行,以确保浏览器中的比较速度。较长的文档应拆分为较小的部分。

隐私

所有操作完全在你的浏览器中进行。你的文本绝不会被上传或发送到服务器。

diffmergetext-comparegitconflict-resolution

工作流的一部分

全部工具集

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。