git diff 默认比较的是哪两个区域的区别?
git diff 默认比较的是 工作区(Working Directory) 和 暂存区(Staging Area / Index) 之间的区别。
简单来说,它显示的是:你刚刚在代码中做了修改,但是还没有使用 git add 添加到暂存区的内容。
💡 扩展说明:Git 中常见的三种 diff 场景
为了更好地理解,你可以把 Git 的本地管理分为三个区域:工作区、暂存区、版本库(HEAD)。对应的比较命令如下:
git diff(默认)- 比较: 工作区 VS 暂存区
- 作用: 查看哪些修改还没有被
add。
git diff --staged(或git diff --cached,两者完全等价)- 比较: 暂存区 VS 版本库(最后一次 commit / HEAD)
- 作用: 查看哪些修改已经被
add,并且将在下一次commit时被提交。
git diff HEAD- 比较: 工作区 VS 版本库(最后一次 commit / HEAD)
- 作用: 查看自上次提交以来,你在本地做的所有修改(包括已经 add 和还没 add 的)。