2013-06-21 45 views

回答

54

如果你还没有加入索引任何文件(与git add),根本就

git diff 

这将显示你的工作树和索引之间的差异。

如果您已将文件添加到索引,则需要执行此操作以显示索引与上次提交(HEAD)之间的差异。

git diff --cached 

最后,如果你想看到在工作树所做的更改相比,最新的提交(HEAD),您可以(卡洛斯指出)做

git diff HEAD 

这些变化的组合git diffgit diff --cached

+1

'git diff'将工作树与索引进行比较,而不是HEAD。 –

+0

@CarlosMartínNieto您说的很对,先生。我改进了我的帖子以反映这一点。 –

+0

我运行,但终端,并没有结束,我怎么能退出。?没有用。 –

2

你要求git来区分当前/最近的提交,它的简写为HEAD

因此git diff HEAD将比较工作树的当前状态和当前提交。

1

这也显示了差异以及哪些文件已被更改/修改。具有索引文件和当前HEAD之间的差异

$ git Status 

显示路径提交,具有工作树和索引文件之间的差异的路径和路径在未由GIT中跟踪的工作树(和是不被gitignore(5)忽略)。首先是你将通过运行git commit来提交;第二和第三个是你可以在运行git commit之前运行git add来提交的。

https://www.kernel.org/pub/software/scm/git/docs/git-status.html

8

如果你刚刚作出了一个承诺,或希望看到什么改变了过去相比,目前的状态提交(假设你有一个干净的工作树)可以使用:

git diff HEAD^ 

这将比较HEAD和之前的提交。人们也可以这样做

git diff HEAD^^ 

以比较玩的状态2提交前。要查看当前的状态和一定的承诺之间的差异,只是简单地做:

git diff b6af6qc 

b6af6qc是提交哈希的例子。

相关问题