在暂存区的文件中显示 git diff [重复]

Posted

技术标签:

【中文标题】在暂存区的文件中显示 git diff [重复]【英文标题】:Show git diff on file in staging area [duplicate] 【发布时间】:2011-04-01 11:14:33 【问题描述】:

在我完成git add file 之后,有没有办法可以查看对file 所做的更改?

也就是说,当我这样做时:

git add file
git diff file

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

【问题讨论】:

【参考方案1】:

您还可以使用git diff HEAD file 显示特定文件的差异。

请参阅git-diff(1) 下的EXAMPLE 部分

【讨论】:

如果解决方案确实有效,我建议您删除问号;这肯定会增强其他人对您的回答的信任:) 这显示了暂存文件和非暂存文件中的差异。这就是我一直在寻找的。谢谢【参考方案2】:

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

$ git diff --cached

在较新版本的 git 中,您还可以使用 --staged 标志(--staged--cached 的同义词):

$ git diff --staged

【讨论】:

有没有办法使用 difftool(即 DiffMerge)来显示这个结果? @Terry:是的,difftool 接受大部分与diff 相同的标志。【参考方案3】:

为了查看已经暂存的更改,您可以将-–staged 选项传递给git diff(在1.6 之前的Git 版本中,使用–-cached)。

git diff --staged
git diff --cached

【讨论】:

以上是关于在暂存区的文件中显示 git diff [重复]的主要内容,如果未能解决你的问题,请参考以下文章

关于git

git diff 查看文件修改后的差异

从暂存区 git 中删除“h origin....”文件

git 指令记录

git基础详解

git基础详解