有没有办法查看同一文件的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
允许我指定我感兴趣的文件。
答案 0 :(得分:26)
git diff
将显示工作区和索引之间的差异。
(索引是暂存文件的位置)
这似乎不太明显,因为我们通常使用git diff
来查看工作区中的更改与签入的内容。但是,技术上git diff
显示工作区与索引,如果您还没有添加更改索引,然后索引匹配您签出的内容。
git diff HEAD
git diff --cached
(也可以使用--staged)git diff
答案 1 :(得分:1)
如果您运行命令git status -vv
,您将看到文件的文本更改。请参阅doc。