</>CodeKitHubEnglish

文本在线对比(Diff)

粘贴两个版本的文本,立即看到到底改了什么:新增的行绿色高亮,删除的行红色高亮,未变的行作为上下文——和 git、代码审查工具展示差异的方式一样。全部在浏览器本地完成。

工具介绍

Diff(差异对比)工具比较两段文本,找出把一段变成另一段所需的最小改动集合。Git 等版本控制系统就是用它展示代码变更的,同样适合对比配置文件、合同、文章或任何东西的两个版本。

本工具按行对比,使用与经典 diff 工具同族的算法(最长公共子序列),输出读起来就像熟悉的代码审查:+ 表示新增行,− 表示删除行。

为什么使用它?

  • 直接看到两个版本之间真正的改动,不用肉眼逐行找。
  • 熟悉的 git 风格输出:绿色新增、红色删除、中间是上下文。
  • 一眼看到新增和删除行数的统计。
  • 适用于任何文本——代码、配置、文档、清单。
  • 私密:两段文本都留在浏览器本地,不上传。

使用方法

  1. 把原始文本粘贴到左边。
  2. 把修改后的版本粘贴到右边。
  3. 点"对比"。
  4. 查看结果:绿色是新增的行,红色是删除的行,无色的行未变。

示例

输入

原始:
line one
line two
line three

修改后:
line one
line 2
line three

输出

  line one
− line two
+ line 2
  line three

中间那行被修改了,diff 把它显示为删除旧行、新增新行。

常见问题

是按词对比还是按行对比?

按行,和 git diff 一样。被修改的行显示为一次删除加一次新增。行级对比是代码和配置的标准做法,大文本下依然清晰易读。

为什么只改了一个字,整行都标成变化了?

因为对比的单位是行——行内任何改动都会标记整行。需要更细粒度时,把长段落拆成短行再对比。

空格影响结果吗?

影响。两行必须完全一致才算相同,行尾空格或缩进不同都会被判定为不同行。这是有意的——在代码和配置里,空白差异就是真实差异。

有大小限制吗?

没有硬性限制,但特别大的文本(几万行)可能需要一点时间,因为对比在你的设备本地运行。

对比时文本会被上传吗?

不会。diff 算法完全通过浏览器内 JavaScript 运行,两段文本都留在你的设备上——合同、内部文档、未发布代码都可以放心对比。

相关工具