有时候文件已经 git add 进暂存区了,提交前想再确认一下这次到底会带哪些改动,可以看 git diff --staged。
环境:Git 2.30+。开个小目录试一下:
mkdir git-diff-staged-demo && cd git-diff-staged-demo
git init
printf 'hello\n' > note.txt
git add note.txt
git diff --staged
这时看到的是暂存区里准备进入下一次提交的内容,不是工作区里所有未保存的想法。
如果后面又改了同一个文件但还没 add,可以对比一下:
printf 'world\n' >> note.txt
git diff
git diff --staged
我一般会在 git commit 前扫一眼这个,尤其是刚才用过 git add . 的时候,能少带进去一些手滑的东西。