如何查看为下一次提交暂存的所有文件的差异?我知道git status,但我想查看实际的差异 - 而不仅仅是暂存文件的名称。
我看到git-diff(1)手册页说
git diff [–options] [–] […] 此表单用于查看您相对于索引(下一次提交的暂存区)所做的更改。换句话说,差异是你可以告诉 git 进一步添加到索引但你仍然没有。您可以使用 git-add(1) 暂存这些更改。
git diff [–options] [–] […]
此表单用于查看您相对于索引(下一次提交的暂存区)所做的更改。换句话说,差异是你可以告诉 git 进一步添加到索引但你仍然没有。您可以使用 git-add(1) 暂存这些更改。
不幸的是,我不能完全理解这一点。一定有一些方便的单线,我可以为其创建别名,对吧?
它应该只是:
git diff --cached
--cached表示针对当前HEAD. --staged是 的同义词--cached。
--cached
HEAD
--staged
--staged并--cached没有指向HEAD,只是相对于 的区别HEAD。如果您选择使用git add --patch(或git add -p)提交的内容,--staged将返回已上演的内容。
git add --patch
git add -p
一个简单的图形使这一点更清楚:
*git diff*
显示工作目录和索引之间的更改。这显示了已更改的内容,但未暂存以进行提交。
git diff –cached
显示索引和 HEAD(这是此分支上的最后一次提交)之间的更改。这显示了已添加到索引并暂存以进行提交的内容。
git diff HEAD**
显示工作目录和 HEAD 之间的所有更改(包括索引中的更改)。这显示了自上次提交以来的所有更改,无论它们是否已准备好提交。
还有:
365Git有更多细节。