git - 如何显示所作更改的?

  显示原文与译文双语对照的内容

我进行了一些更改;如何查看所有为下一次提交而暂存的文件的差异? 我知道 git状态,但我想看到实际的差异- 不仅仅是那些被暂存的文件的名称。

我看到 git-diff(1) web 手册页

git diff [--options] [--] [... ]

这里表单用于查看你相对于索引( 下一次提交的临时区域) 所做的更改。 换句话说,就是你的差异能告诉git进一步添加到索引但你仍然没有。 你可以使用 git-add(1) 进行这些更改。

不幸的是,我不能完全理解这个。 必须有一些方便的one-liner,我可以为它创建一个别名,对吧?

时间:

它应该是:

 
git diff --cached

 

--cached 表示在缓存/索引中显示更改( 例如 。 针对当前 HEAD的暂存更改) 。 --staged--cached的同义词。

一个简单的图形使这个更加清晰

Simple Git diffs

git diff

显示工作目录和索引之间的更改。 这显示了已经更改的内容,但没有为提交而分级。

git diff --cached

显示索引和 HEAD(which is the last commit on this branch) 之间的更改。 这显示了已经添加到索引中的内容,并为提交而分级。

git diff 头

显示工作目录和头( 包括索引中的更改) 之间的所有更改。 这显示自上次提交之后的所有更改,不管它们是否已经被回写提交或者不执行。

也是:

关于 http://365git.tumblr.com/post/474079664/whats-the-difference-part-1的更多细节

如果你对可视化side-by-side视图感兴趣,漫反射可视差异工具可以。 它甚至会显示三个窗格,如果有的话,但不是所有的修改都是暂存的。 在冲突的情况下,甚至有四个窗格。

Screenshot of diffuse with staged and unstaged edits

调用它

 
diffuse -m

 

在你的Git工作副本中。

如果你问我,我在十年内看到的最佳视觉效果。 此外,它不是特定于 Git: 它可以与大量其他的VCS互操作,包括 SVN,Mercurial,Bazaar,- 。

参见:既有上演 & git diff 工作树?

注意,git status -v 也显示了阶段性的变化 !

在它的长格式( 默认) 中,git status 具有一个未归档的"详细"选项,它实际显示HEAD和索引之间的差异。

即将变得更加完整: 看到"既有上演 & git diff 工作树? "( git 2.3.4 +,Q2 2015 ):


git status -v -v

...