我只想看到上次提交时提交的文件和git提交时看到的列表完全一样。不幸的是

git "last commit" log

在谷歌中我什么都得不到。和

git diff HEAD^..HEAD

当然,这并不是我所需要的,因为它也会释放出改变的本质。


当前回答

使用git显示:

git show --summary

这将显示已创建或删除的文件名,但不显示已更改的文件名。git show命令支持多种输出格式,用于显示关于提交的各种类型的信息。

其他回答

$ git diff --name-only HEAD^..HEAD

or

$ git log --name-only HEAD^..HEAD

我们不了解这些人

这显示了与上次提交相同的diffstat。

如果您正在讨论在执行了某个早期提交的git签出之后(并且在执行签出之前忘记写下HEAD的散列)找到最新和最大的提交,那么以上大多数方法都不会让您回到开始的地方。git log -[some #]只显示来自HEAD当前位置的日志,这并不一定是最后一次提交(项目的状态)。签出将断开HEAD并将其指向您签出的任何内容。

您可以查看整个git reflog,直到到达引用原始克隆的条目。顺便说一句,如果在克隆项目和执行签出之间进行了任何提交,这也不会起作用。否则,您可以希望本地机器上的所有提交都在服务器上,然后重新克隆整个项目。

希望这能有所帮助。

通过评论确定,似乎OP正在寻找

$ git log --name-status HEAD^..HEAD

这也非常接近从svn status或svn log -v得到的输出,许多从subversion转到git的人对这两个输出都很熟悉。

——name-status是这里的关键;正如其他人在这个问题中指出的那样,您可以使用git log -1、git show和git diff来获得相同类型的输出。就我个人而言,我倾向于在查看单个修订时使用git show <rev>。

git log -1 --name-status

为我工作。