git diff head 比较工作区与最新提交的差异,显示所有未暂存的增删改行(-删/+增),支持文件限定、--stat概览和-w忽略空格,是确认当前修改的首选命令。

直接运行 git diff HEAD 就能看到当前工作区与上次提交(即最近一次 git commit)之间的所有具体改动行。
为什么是 HEAD?
HEAD 指向当前分支最新的一次提交。所以 git diff HEAD 的含义很明确:比较「你现在正在编辑的代码」和「上一次提交时保存的版本」之间每一行的增删改。
Conventional Commits v1.0.0 分支、工作树命名及提交信息规范,适用于 GitHub 与 GitLab 项目,用于创建分支和命名工作树等场景。
它会显示所有已修改但尚未 git add 的文件,包括新增、删除、内容变更的行,每处变动都用颜色或符号标出(- 表示被删的行,+ 表示新增的行)。
常见使用方式
-
查看全部改动:直接执行
git diff HEAD -
只看某个文件:比如只关心
utils.js,就用git diff HEAD -- utils.js -
先看改了哪些文件和多少行:加
--stat快速概览:git diff --stat HEAD,避免一上来就被大段 patch 淹没 -
忽略空格变化(防格式干扰):如果团队有统一格式规范,但你只想聚焦逻辑改动,可加
-w:git diff -w HEAD
注意几个易错点
- 别用
git diff(不带参数)——它只对比工作区和暂存区,已git add的修改就看不到了 - 别用
git diff --cached——它对比的是暂存区和上次提交,不是你当前正在写的代码 - 路径前加
--更安全,尤其当文件名含短横或特殊字符时,例如:git diff HEAD -- src/components/Button.jsx
这条命令不依赖分支名或 commit ID,稳定、直观,是日常确认“我到底改了什么”的第一反应操作。










