SPT术语库

差异对比 Diff

AI 说它改好了一个文件,你想先确认到底哪几行发生了变化。

Git约 10 分钟 · 从真实需求理解

1Diff 让你看见改了什么

GIT · CHANGE EVIDENCE把改动前后放在一起看

BEFORE ↔ AFTER,Diff 用加减行告诉你文件具体变了什么。

BEFOREButton.vue11 const label = 'save'12 return 'Save'baseline · line 12
AFTERButton.vue11 const label = 'save'12 return 'Saved'working copy · line 12
CHANGE HUNK@@ line 12
− return 'Save'+ return 'Saved'
DIFF SUMMARYcounting changes…1 deletion · 1 addition

Diff 把同一个文件的旧内容和新内容放在一起比较,用减号标出删除、用加号标出新增。它帮助你在提交、审查或接受 AI 修改前,先确认变化是否符合预期。

  • before 是比较基线,after 是当前准备保存的版本。
  • hunk 把相邻的变化和附近上下文放在同一个小片段里。
  • Diff 只呈现变化证据,不代表代码一定正确或已经合入。

2Diff 不等于 Commit、Pull Request 或测试

Diff 是对比工具:它告诉你两个状态之间有哪些变化。Commit 会把改动写进历史,Pull Request 会把改动交给团队讨论,测试则检查行为是否符合预期;Diff 本身不执行这些后续动作。

  • 看到绿色新增行,不代表新增逻辑已经正确。
  • 看到差异摘要,也仍然要阅读具体代码和上下文。

让 AI 改代码后,先看 Diff 再决定是否测试、提交或发起 Pull Request。

3一次 Diff 由哪些部件组成?

BEFOREreturn 'Save'baseline · line 12
AFTERreturn 'Saved'working copy · line 12
HUNK · @@ line 12− Save → + Savedlocal change with context
SUMMARY2 LINES CHANGED1 deletion · 1 addition

Diff 呈现变化证据,但不替你判断代码是否正确、已提交或已通过测试。

把 Diff 拆开看,before 和 after 提供两端内容,hunk 把相关变化聚在一起,summary 则告诉你本次文件级别改了多少。

  • BEFORE 是旧版本或比较基线。
  • AFTER 是当前工作版本或比较目标。
  • HUNK 是一段带上下文的局部变化。
  • SUMMARY 是新增、删除和文件数量的概览。

4怎样把 Diff 需求交给 Agent?

请先给我 Button.vue 的 Diff:对照修改前后的第 12 行,清楚标出删除的 return 'Save' 和新增的 return 'Saved',显示 hunk 位置和 1 deletion / 1 addition 摘要。不要把 Diff 当成测试通过、Commit 或 Pull Request;支持共享重播、Anatomy 键盘操作、暗色主题和 390px、320px 窄屏。

5不用背,看看你能不能判断

1 / 3

Diff 最主要帮助你看什么?

请选择一个最符合题意的答案

选择答案后自动进入下一题

社区延伸

看别人真实遇到过什么

社区帖子还没有关联到这个词条。