我如何显示已经上演的变化?
我提出了一些要改变的改变; 我怎样才能看到所有下一次提交的文件的差异? 我知道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
内容,-- --staged
将返回所执行的内容。
一个简单的图形使这个更清晰:
git diff
显示工作目录和索引之间的更改。 这显示了已经更改的内容,但未提交提交。
git diff - 缓存
显示索引和HEAD(这是该分支上的最后一个提交)之间的更改。 这显示了已添加到索引并为提交进行的操作。
git diff HEAD
显示工作目录和HEAD(包括索引中的更改)之间的所有更改。 这显示了自上次提交以来所做的所有更改,无论它们是否已提交或未提交。
另外 :
365Git有更多的细节。
如果您对视觉并排视图感兴趣,则漫反射视觉差异工具可以实现这一点。 如果一些但不是所有的变化都展示出来,它甚至会显示三个窗格。 在冲突的情况下,甚至会有四个窗格。
用它来调用它
diffuse -m
在你的Git工作副本中。
如果你问我,我已经看到了十年来最好的视觉差异。 此外,它并不特定于Git:它可以与其他多种VCS进行互操作,包括SVN,Mercurial,Bazaar ......
另请参见:在git diff中显示staged和working tree?
链接地址: http://www.djcxy.com/p/1445.html上一篇: How do I show the changes which have been staged?
下一篇: After reverting a file to a previous revision git diff shows no differences?