---
name: diff
description: 当用户问"改了什么"、"有什么变化"、"show me changes"、"看看改动"、"diff"、"差异"时使用。显示工作区或暂存区的变更内容，帮助用户理解当前代码状态。
---

# /diff —— 查看 Git 变更

## Quick Reference

| 步骤 | 操作 |
|------|------|
| 1 | 用 Bash 工具执行 `git status` 查看变更概览 |
| 2 | 用 Bash 工具执行 `git diff` 查看未暂存变更 |
| 3 | 或用 Bash 工具执行 `git diff --staged` 查看已暂存变更 |
| 4 | 如需单文件详情：`git diff -- <file_path>` |

## 常用变体

| 需求 | 命令 |
|------|------|
| 只看文件名（不改动内容） | `git diff --name-only` |
| 看统计（增删行数） | `git diff --stat` |
| 看某个文件的函数级变更 | `git diff -p -- <file> \| grep -A5 "func_name"` |
| 对比两次提交之间 | `git diff <commit_a> <commit_b>` |
| 看暂存 vs 上次提交 | `git diff --cached --stat` |

## 输出格式建议
- 先给总结：改了几个文件、增删多少行
- 再按文件列出关键变更
- 大文件只展示变更的函数/方法，不列全文
