同一文件的暂存版本和未暂存版本之间的差异,使用 difftool
Differences between the staged and unstaged versions of the same file, using difftool
有没有办法查看同一文件的 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
允许我指定我感兴趣的文件。
如果您 运行 命令 git status -vv
您将看到文件的文本更改。参见 doc。
git diff
将显示您的工作区和索引之间的差异。
(索引是暂存文件所在的位置)
这可能看起来并不明显,因为我们通常使用 git diff
查看工作区中的变化与签入的内容。但是,从技术上讲,git diff
显示工作区与索引,如果您没有t 添加了对索引的更改,然后索引与您签出的内容匹配。
- 查看工作区与存储库:
git diff HEAD
- 查看索引与存储库:
git diff --cached
(也可以使用 --staged)
- 查看工作区与索引:
git diff
有没有办法查看同一文件的 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
允许我指定我感兴趣的文件。
如果您 运行 命令 git status -vv
您将看到文件的文本更改。参见 doc。
git diff
将显示您的工作区和索引之间的差异。
(索引是暂存文件所在的位置)
这可能看起来并不明显,因为我们通常使用 git diff
查看工作区中的变化与签入的内容。但是,从技术上讲,git diff
显示工作区与索引,如果您没有t 添加了对索引的更改,然后索引与您签出的内容匹配。
- 查看工作区与存储库:
git diff HEAD
- 查看索引与存储库:
git diff --cached
(也可以使用 --staged) - 查看工作区与索引:
git diff