Git / 版本控制

Git Diff 在线工具直接审阅已有补丁

粘贴统一差异补丁,通过文件树查看每个文件的旧行号、新行号和增删内容。

Git Diff 在线工具

补丁输入

变更视图

补丁仅在当前浏览器内处理,不上传、不访问仓库,也不执行补丁。

显示选项

上限:UTF-8 编码 1 MiB、20,000 行、200 个文件。路径筛选不区分大小写。

输入已变化,重新解析后才能导出。

导出始终包含完整补丁或完整摘要,不受筛选和分页影响。

Git Diff 在线工具适合收到补丁附件、却没有仓库和完整前后文件的场景。你可以先看清这份补丁记录了什么,再决定是否在自己的仓库中进一步验证。

无需从补丁重建两份源文件。保留原有增删顺序、区块范围和文件关系,更容易发现截断的内容或超出预期的文件变更。

为什么使用 Git Diff 在线工具

让一份现成的补丁成为可逐文件阅读的变更记录。

同一段改动,对照两侧行号

Git Diff 在线工具将统一差异展开成旧版本与新版本两列,按出现顺序配对相邻的删除和新增行。上下文在两边保留,补丁未给出的源文件内容不会被填成假数据。

一份补丁展开为文件树,以及表示删除和新增内容的两列。

筛选定位,不裁剪原始证据

可以用旧路径或新路径中的一段文字查找文件。筛选只影响导航,整体统计和导出仍覆盖整份补丁;阅读单个文件时,不会误导出不完整的修改。

文件树中突出显示一个文件,同时保留旁边的完整补丁。

先确认范围,再阅读增删

01

准备不带封装的差异

可使用 git diff --no-color 生成输入,也可提供包含成对文件头的标准统一差异。邮件形式的补丁需要从原仓库重新导出裸差异。

  • 读取本地补丁文件采用 UTF-8;替换输入前会显示预览和行数。
02

选择适合本次审阅的排列

并排视图按原顺序对齐连续增删行;如果更关心删除和插入的先后关系,可切换为统一视图。两种视图使用同一份解析结果。

  • 关闭自动解析后,可用 Ctrl/Cmd + Enter 执行当前输入。
03

检查整体数量与文件状态

核对文件数、变更区块数和文本增删数,再查看选中文件的路径与模式。二进制标记单独计数,不代表已检查二进制内容。

  • 文件筛选和分批显示不会缩减复制、补丁下载或 JSON 摘要。

文件结构、行号与统计一起核对

不仅识别文本修改

新增文件的旧侧通常是 /dev/null,删除文件的新侧则是 /dev/null。重命名、复制及权限模式变化即使没有文本区块也会保留;Git 引号编码的路径会解码后显示。

检查区块声明是否一致

每个 @@ 头声明旧侧和新侧的行数。解析器核对上下文、删除及新增行,拒绝截断和重叠范围,并在输入中标出需要检查的行,不会擅自修补计数。

保留可复核的完整摘要

JSON 摘要包含所有文件的路径、状态、已提供的模式、文本增删数及区块数。二进制标记另列,因此文本新增为零不表示图片或其他二进制文件没有变化。

格式有效不等于可以应用

不验证目标仓库状态
本页没有目标文件或基准提交,不能运行 git apply --check、暂存文件或创建提交。格式检查通过后,仍需在目标仓库中单独验证补丁能否正确应用。
只接收双边裸统一差异
拒绝带邮件封装的 git format-patch、mbox、合并差异、raw/name-only/stat 输出以及终端颜色控制符。本页输入是一份现成补丁,不是两份完整文本。
二进制只显示标记
可以展示 Binary files … differ 元数据,但不会解析 GIT binary patch 的 literal/delta 载荷。仅凭标记无法判断图片具体改动,也无法判断二进制补丁是否可用。
超限时整份拒绝
输入必须同时满足 UTF-8 编码 1 MiB、20,000 个物理行和 200 个文件限制,超限不会悄悄截断。文件导航每次增加 50 项,结果每次增加 100 行,导出保持全量。
不重写或补全原补丁
不忽略空白、不反向生成补丁、不自动修复行数,也不做语法高亮或语义分析。筛选采用不区分大小写的路径子串,不支持正则和通配符;省略的源文件上下文无法恢复。

Git Diff 在线工具常见问题

支持哪些差异格式?

支持普通 Git 补丁和包含 ---、+++ 文件头的标准统一差异,可选择并排或统一显示。合并差异、邮件封装、终端颜色和二进制载荷不在支持范围内。

可以比较二进制文件或图片吗?

不能比较图片像素或二进制内容。若补丁包含 Binary files … differ,会显示对应文件及标记,文本增删数不包含这些未知的二进制变化。

统一差异输出是什么格式?

统一差异用 @@ 标明两侧范围,并用空格、减号和加号区分上下文、删除与新增。本页读取已有格式;下载得到原始补丁,不重新生成或修复它。

我可以粘贴统一 diff 或 .patch 文件并在这里阅读吗?

可以。本页就是读取一份已有的 unified diff 或 .patch 文件,通过文件树查看各区块。文件扩展名不能证明格式正确,实际内容仍需通过解析。

有大小限制吗?

有。上限为 UTF-8 编码 1 MiB、20,000 行和 200 个文件,任一项超限都会拒绝整次解析。可在来源处按提交或文件拆成更小的补丁后分别查看。

仍有疑问?

打开下一份补丁

用 Git Diff 在线工具定位变更文件,核对区块和文本行数,再带走完整原文。

结构校验不能证明补丁适用于当前仓库。