我上演了一些改变; 如何查看为下次提交而暂存的所有文件的差异?我知道git 状态 ,但我想看到实际的差异 - 而不仅仅是分阶段文件的名称。
我看到git-diff(1)手册页说
git diff [--options] [-] [...]
此表单用于查看您对索引所做的更改(下一次提交的暂存区域)。换句话说,差异是你可以告诉 git 进一步添加到索引,但你仍然没有。您可以使用 git-add(1)暂存这些更改。
不幸的是,我无法理解这一点。必须有一些方便的单行,我可以创建一个别名,对吗?
它应该只是:
git diff --cached
--cached
表示针对当前HEAD
显示缓存 / 索引(即分阶段更改)中的更改。 --staged
是--cached
的同义词。
--staged
和--cached
不指向HEAD
,只是与HEAD
有所区别。如果您使用git add --patch
(或git add -p
)来挑选提交内容,则--staged
将返回已暂存的内容。
如果您对视觉并排视图感兴趣, 漫反射视觉差异工具可以做到这一点。它甚至会显示三个窗格,如果某些但不是所有的更改都会上演。在冲突的情况下,甚至会有四个窗格。
用它调用它
diffuse -m
在你的 Git 工作副本中。
如果你问我,十年来我见过的最好的视觉效果。此外,它并不特定于 Git:它与许多其他 VCS 互操作,包括 SVN,Mercurial,Bazaar,......
另请参阅: 在 git diff 中显示分段和工作树?