文本只插入一行,后面为什么都变黄?按行号看懂对比结果
文本对比
点击使用相关工具
旧文本只有三行,修改时往第二行插入“新增”,后面的乙、丙都没有改。放到文本对比里,却看到第二、三行两边都变黄,第四行右边又变绿。这里的颜色描述的是同一个行号上,左右两格是否相同,不能直接读成“改了两行、又新增了一行”。
本站这个工具按位置逐行对照:左边第2行只和右边第2行比,不会自动把左边的乙移动到右边第3行寻找对应项。了解这个处理范围后,颜色仍能帮助检查短文本,但插行或删行之后要先看是否发生整体错位。
三行原文,四行改稿,先自己跑一遍
把下面这段放在左侧“原始文本”:
甲
乙
丙
右侧“修改后文本”放入:
甲
新增
乙
丙
点击“对比差异”,逐行核对:
| 行号 | 左侧 | 右侧 | 本页提示 |
|---|---|---|---|
| 1 | 甲 | 甲 | 无色 |
| 2 | 乙 | 新增 | 两侧黄色 |
| 3 | 丙 | 乙 | 两侧黄色 |
| 4 | 空白 | 丙 | 右侧绿色 |
第3行变黄,是因为它比较的是“丙”和“乙”;第4行右侧变绿,是因为左边已经没有对应内容。这些现象不推翻“只插入一行”的编辑记录。需要追踪插入、删除之后的自动对齐,或生成可以应用的代码补丁时,应使用支持这些功能的版本比较工具,本页不生成Git补丁,也不计算最少修改步骤。
用没有错位的样本理解三种底色
清掉两边内容,左侧填两行编号=A01、金额=10,右侧填编号=A01、金额=11,再点击一次“对比差异”。第一行相同,不着色;第二行两边都有文字且不相同,两格都为黄色。页面不会只给数字0和1单独着色,要自己在这一行中核对变化。
在某个行号上,左格为空、右格有内容,右格为绿色;右格为空、左格有内容,左格为红色。两格都非空且不相同,则是黄色。这是本页的展示规则。若你把旧版和新版放反,红绿含义也会跟着改变,所以每次开始前先确认左侧确实是原文。
“为空”还有一个限制:本页会把不存在的对应行与空字符串放在同一种比较状态。左侧只比右侧多一个末尾空行时,不能靠是否出现红绿来证明两份文本字节完全一致。结果没有颜色,只能说明本页采用的逐行比较没有显示差异,不是文件完整性校验。
空格不同,也会让整行变黄
同一行中的A01与前面带一个空格的 A01并不相同,A01与a01也不相同。当前页面没有“忽略空格”或“忽略大小写”选项,空格还可能藏在行尾。遇到看起来一样的黄色行,先检查首尾空白、标点和大小写;不要为了消掉底色先把所有文本都清理一遍。
确实需要对普通名单去掉首尾空白时,留存原文副本,按已确认的规则处理,再把整理后的两份文本重新比较。清理与去重顺序的示例说明了这类操作为什么可能改变数据。代码缩进、Markdown空行、账号或编号中的大小写若有含义,就应保留。
这页比较的是粘贴到两个输入框里的文字,没有文件上传、Word修订或PDF版式对比功能。文章在输入框里自动折成两行显示,也不代表原文多了一个换行;左侧和右侧都应按真实换行逐行核对。编辑输入后要再次点击“对比差异”,下方保留的旧表不会随着输入自动刷新。先用几行确认比较口径,再读长文的着色区域,才能知道提示究竟对应哪一处变化。