在暂存区中展示文件的git diff

1151

在我执行 git add file 之后,有没有一种方法可以查看对 file 所做的更改?

也就是说,当我执行:

git add file
git diff file

没有显示任何差异。我想有一种方法可以查看自最后一次提交以来的差异,但我不知道是什么。

3个回答

1838

您可以使用--cached标志显示已暂存的更改:

$ git diff --cached

在Git的更新版本中,你也可以使用--staged标志(--staged--cached的同义词):

$ git diff --staged

4
有没有办法使用difftool(比如DiffMerge)来展示这个结果? - Terry
12
@Terry:是的,difftool 接受与 diff 大部分相同的标志。 - mipadi

200

为了查看已经暂存的更改,可以在 git diff 命令中加入 --staged 选项(在 Git 1.6 之前的版本中,请使用 --cached)。

git diff --staged
git diff --cached

76

您也可以使用git diff HEAD file命令来查看特定文件的差异。

请查看git-diff(1)下的EXAMPLE部分。


23
这显示了暂存文件和非暂存文件之间的区别,这正是我要找的。谢谢。 - NHDaly

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接