查看当前状态和上次提交之间的差异
有时当我要提交时,我不记得自上次提交以来发生了什么变化。 我怎样才能看到代码的当前状态和上次提交的差异?
如果你还没有添加任何文件到索引(使用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