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

git "last commit" log

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

git diff HEAD^..HEAD

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


当前回答

到目前为止,最简单的命令是:

git show --name-only

因为它只列出了上次提交的文件,并没有给你全部的胆量

输出的一个例子是:

commit  fkh889hiuhb069e44254b4925d2b580a602
Author: Kylo Ren <Kylo@darkside.empire.gov>
Date:   Sat May 4 16:50:32 2168 -0700

Changed shield frequencies to prevent Millennium Falcon landing

 www/controllers/landing_ba_controller.js             
 www/controllers/landing_b_controller.js            
 www/controllers/landing_bp_controller.js          
 www/controllers/landing_h_controller.js          
 www/controllers/landing_w_controller.js  
 www/htdocs/robots.txt                        
 www/htdocs/templates/shields_FAQ.html       

其他回答

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

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

希望这能有所帮助。

如果您只想看到上次提交的文件名称

 git diff HEAD@{1} --name-only

如果您还想看到内容更改,请删除——name-only

如果你想比较当前状态和旧的提交,增加{n}

要查看最后一次提交:

git log -1

要查看最后2次提交:

git log -2

等等....

git log -1 --name-status

为我工作。

这个问题已经在上面回答了,上面说了git log /其他命令最后提交的文件名。如果有人想要查看上次提交中更改的内容(行差异),可以使用这个命令-

git show

这将自动显示上次提交时的行差。