一尘不染

如何显示已进行的更改?

javascript

如何查看为下一次提交暂存的所有文件的差异?我知道git status,但我想查看实际的差异 - 而不仅仅是暂存文件的名称。

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

git diff [–options] [–] […]

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

不幸的是,我不能完全理解这一点。一定有一些方便的单线,我可以为其创建别名,对吧?


阅读 134

收藏
2022-02-08

共2个答案

一尘不染

它应该只是:

git diff --cached

--cached表示针对当前HEAD. --staged是 的同义词--cached

--staged--cached没有指向HEAD,只是相对于 的区别HEAD。如果您选择使用git add --patch(或git add -p)提交的内容,--staged将返回已上演的内容。

2022-02-08
一尘不染

一个简单的图形使这一点更清楚:

简单的 Git 差异

*git diff*

显示工作目录和索引之间的更改。这显示了已更改的内容,但未暂存以进行提交。

git diff –cached

显示索引和 HEAD(这是此分支上的最后一次提交)之间的更改。这显示了已添加到索引并暂存以进行提交的内容。

git diff HEAD**

显示工作目录和 HEAD 之间的所有更改(包括索引中的更改)。这显示了自上次提交以来的所有更改,无论它们是否已准备好提交。

还有

365Git有更多细节。

2022-02-08