无需登录 数据私有 本地保存

Git差异文件渲染器 - 可视化diff

15
0
0
0

🔍 Git Diff 可视化渲染器

粘贴 git diff 输出,即可获得 GitHub 风格的可视化差异对比视图

支持直接粘贴
文件数:0
新增行:0
删除行:0

尚未渲染任何差异

请粘贴 Git Diff 内容并点击「渲染 Diff」,或点击「加载示例」查看效果

📖 常见问题与知识点

Git Diff 是 Git 版本控制系统中用于比较文件差异的命令。它展示了两个版本之间(如工作区与暂存区、两个提交之间、两个分支之间)的具体变化。输出格式包含:

diff --git a/file b/file — 文件标识头
--- a/file+++ b/file — 旧版本和新版本路径
@@ -1,5 +1,6 @@ — Hunk 头,表示旧文件从第1行开始的5行,新文件从第1行开始的6行
- 开头 — 删除的行
+ 开头 — 新增的行
空格开头 — 未改变的上下文行

常用的 Git Diff 命令:
git diff — 查看工作区与暂存区的差异
git diff --stagedgit diff --cached — 查看暂存区与最新提交的差异
git diff HEAD — 查看工作区与最新提交的所有差异
git diff branch1..branch2 — 比较两个分支
git diff commit1 commit2 — 比较两个提交
git show <commit> — 查看某个提交的详细变更
生成后可将终端输出直接复制粘贴到本工具中进行可视化渲染。

统一视图(Unified View):所有行(新增、删除、上下文)显示在同一个垂直列表中,删除行标记为红色,新增行标记为绿色。这是 git diff 的默认输出格式,适合快速浏览整体变更。

分栏视图(Split View):将旧版本和新版本并排显示在左右两列。删除行出现在左侧,新增行出现在右侧,上下文行在两侧同时显示。这种视图更直观地展示了「修改前 vs 修改后」的对比效果,类似于 GitHub 的 split diff 模式,适合进行详细的代码审查。

Hunk 头格式为 @@ -old_start,old_count +new_start,new_count @@
old_start — 旧文件中该变更块的起始行号
old_count — 旧文件中该变更块涉及的行数(包括上下文行和删除行)
new_start — 新文件中该变更块的起始行号
new_count — 新文件中该变更块涉及的行数(包括上下文行和新增行)

例如 @@ -10,7 +10,9 @@ 表示旧文件从第10行开始的7行内容,对应新文件从第10行开始的9行内容。一个文件可以有多个 Hunk,每个 Hunk 代表一处不连续的变更区域。

本工具支持标准 Git Diff 格式,包括:
• 多文件 diff(自动分割并逐个展示)
• 新增文件(new file mode
• 删除文件(deleted file mode
• 文件重命名(rename from/to
• 二进制文件变更提示
git show 输出的提交差异
• 通过管道或重定向获取的 diff 内容
如果遇到无法解析的格式,工具会显示原始文本并给出提示。

代码审查最佳实践:
1. 使用分栏视图 — 对于复杂的修改,分栏视图能更清晰地展示变化前后的对比
2. 关注 Hunk 块 — 每个 Hunk 代表一个独立的变更区域,逐块审查更高效
3. 检查上下文行 — 上下文行帮助理解变更的代码环境和逻辑
4. 注意行号变化 — 行号偏移可以反映出插入或删除对文件结构的影响
5. 结合 git diff --color-words — 对于文档类文件,逐词对比比逐行对比更精确
6. 使用 git diff -w — 忽略空白字符变化,专注于实质性代码变更