查看当前状态和上次提交之间的差异
有时当我要提交时,我不记得自上次提交以来发生了什么变化。 我怎样才能看到代码的当前状态和上次提交的差异?
如果你还没有添加任何文件到索引(使用git add ),只需要做 
 git diff 
这将显示您的工作树和索引之间的差异。
如果您已将文件添加到索引,则需要执行此操作来显示索引与上次提交(HEAD)之间的差异。
 git diff --cached 
 最后,如果你想看到在工作树上做的更改与最新的提交( HEAD )相比,你可以(正如Carlos指出的那样) 
 git diff HEAD 
 这些变化是git diff和git diff --cached 。 
如果您刚刚提交了一个提交,或者想要查看上一次提交与当前状态相比发生了什么变化(假设您有干净的工作树),则可以使用:
 git diff HEAD^ 
这将比较HEAD和之前的提交。 也可以做
 git diff HEAD^^ 
以比较2提交前的状态。 要查看当前状态与某个提交之间的差异,只需执行以下操作:
 git diff b6af6qc 
 其中b6af6qc是一个提交哈希的例子。 
 你要求git来区分当前/最后一个提交,它有一个HEAD的简写。 
 所以git diff HEAD会比较工作树的当前状态和当前的提交。 
这也显示了不同之处以及哪些文件已被修改/修改。
 $ git Status 
显示索引文件和当前HEAD提交之间存在差异的path,工作树和索引文件之间存在差异的path,以及未被git跟踪的工作树中的path(并且不会被gitignore(5)忽略) )。 首先是你会通过运行git commit来提交; 第二和第三个是你可以通过在运行git commit之前运行git add来提交。
https://www.kernel.org/pub/software/scm/git/docs/git-status.html