15

有没有办法查看同一文件的版本staged和版本之间的差异?unstaged

例如:

Changes to be committed:

    modified:   conf/application.conf

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   conf/application.conf

当我暂存更改然后我再次修改文件而不暂存它时,就会发生这种情况。

EDIT

git status -vv命令不够好,因为我需要使用diff/difftool命令。那是因为实际上在太多文件中有太多更改,并且滚动浏览所有文件效率不高。但是diff/difftool允许我指定我感兴趣的文件。

4

2 回答 2

35

git diff 将显示您的工作区和索引之间的差异。(索引是暂存文件所在的位置)

这可能看起来并不明显,因为我们通常git diff用来查看工作空间中的更改与签入的内容。但是,技术上git diff显示的是工作空间与索引,如果您没有对索引添加更改,那么索引与您签出的内容相匹配.

  • 查看工作区与回购: git diff HEAD
  • 查看索引与回购:(git diff --cached也可以使用--staged)
  • 查看工作区与索引: git diff
于 2016-12-20T19:19:41.457 回答
1

如果您运行该命令git status -vv,您将看到文件的文本更改。见文档

于 2016-12-20T15:17:09.567 回答