你以为 Claude Code 改完只能靠 git diff?今天每轮改动自己会报了

配了三年 Claude Code,每次改完代码都要切出去跑 git diff HEAD——现在它自己会报了。

Claude Code 2.1.260 刚发布(9月3日),新增了一个 /diff 命令,打开并排 diff panel,实时显示你这一轮让 Claude 改了什么。不用切出终端,不用记命令,打开就能看。

问题的本质

用 Claude Code 写代码,改了五六轮之后功能坏了——此时 git diff 显示的是”所有未提交的改动”,根本分不清哪一轮引入了问题。git bisect 能用,但要反复切环境、反复编译,效率极低。

之前的解法是每改完一轮就 commit 一次,靠 git log --oneline 定位到具体哪次提交。但实际操作中,没人会这么高频地 commit,效率太低了。

/diff 怎么工作的

/diff 调出交互面板,面板有两个数据来源:

  • Current: 等于 git diff HEAD,所有未提交改动的大合集
  • Per-turn(T1/T2/T3…): 从对话记录里重建这一轮 Claude 具体改了哪些文件,不依赖 git 状态

这就是关键所在:per-turn 视图绑定了当时的 prompt。”这轮我让 Claude 修权限逻辑”,per-turn 就只显示权限相关的文件改动,而不是把五轮加起来的所有改动摊在你面前。

键盘操作也很直接:←/→ 切换 Current 和各个 turn,↑/↓ 在文件之间跳转,j/k/PgUp/PgDn/Space/Home/End 滚动详情页。详情页滚动支持键盘了这个版本才补齐的,之前只能看第一屏。

三个具体场景

场景一:功能坏了,直接定位哪轮引入的

以前:开 git bisect,反复编译反复跑测试,定位到具体提交,然后看那轮 Claude 做了什么改动。

现在:敲 /diff,←/→ 切到那轮的 T3(举个例子),直接看到改了什么——省掉 bisect 的所有开销。

场景二:用 Claude 写完功能自检

开一个新的 /diff,先看每轮改了什么,确认范围没问题、没有漏掉的边界情况,再提 PR。per-turn 视图里每个 turn 还带着当时 prompt 的片段,直接回想起”当时让 Claude 做了什么”。

场景三:配合 /code-review 高效自审

/diff 只读,改动看完之后,如果想让 AI 帮忙审查逻辑漏洞,跑 /code-review 或者云端 review。顺序是:自己先看 diff 确认范围没问题 → 再让 AI 介入查逻辑。

还有一个升级:prompt-cache miss 的原因透明了

2.1.260 同时在 /cost 和状态栏的 promptcache 字段里,增加了 cache miss 的具体原因说明:tool definitions 变更了、system prompt 变了、还是 idle 超过 TTL 了。以前只知道”miss 了”,现在能定位到根因,对高频用 Claude Code 的团队来说,这是优化 token 成本的重要依据。

一个限制

/diff 只显示未提交的改动,已 commit 的内容要看还是得 git show HEAD 或者在 IDE 里查。Per-turn 视图的完整性也依赖对话记录,如果单次会话特别长导致对话被截断,部分 turn 可能缺失——但对于一般使用场景(每次会话做 3-5 轮改动),这个机制是完整的。

下一步

如果你在用 Claude Code,今天升级到 2.1.260,敲一次 /diff 感受一下按轮次看改动的体验。下次功能出问题的时候,你就知道该先切到哪个 turn 了。

评论区

0 条评论

登录后可评论。

小智·AI工具控 15 阅读