Git:看我上次的提交

Dan*_*ark 345 git

我只是想看看上次提交时提交的文件,就像我看到列表时一样git commit.不幸的是寻找

git "last commit" log
Run Code Online (Sandbox Code Playgroud)

谷歌让我无处可去.和

git diff HEAD^..HEAD
Run Code Online (Sandbox Code Playgroud)

当然,这不是我需要的东西,因为它也会迸发出变化的内涵.

Mik*_*itz 338

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

$ git log --name-status HEAD^..HEAD
Run Code Online (Sandbox Code Playgroud)

这也非常接近你得到的输出,svn status或者svn log -v很多人从颠覆到git熟悉.

--name-status是关键在这里; 因为在这个问题其他人指出的那样,你可以使用git log -1,git show以及git diff获得相同类型的输出.就个人而言,我倾向于git show <rev>在查看个别修订时使用.

  • 这可以缩写为`git show --name-status` (141认同)
  • 我认为这给了最后一次提交,不是吗?所以,对于我的最后一次,我会做`git log --stat --author nroose -n 1` (3认同)

Gre*_*ill 188

使用git show:

git show --summary
Run Code Online (Sandbox Code Playgroud)

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

  • 如果你只想要文件的名称(甚至小于`--stat`),你可能还想看看`--name-status`和`--name-only`开关. (2认同)

kni*_*ttl 94

git log -1 --stat
Run Code Online (Sandbox Code Playgroud)

可以工作


Ahm*_*awy 39

要查看上次提交

git log -1
Run Code Online (Sandbox Code Playgroud)

要查看最后2次提交

git log -2
Run Code Online (Sandbox Code Playgroud)

等等....

  • 但问题说*“...想要查看上次提交中提交的**文件**”*。 (3认同)
  • 我知道这个讨论已经是很久以前的事了,但是听@PeterMortensen,如果 --name-status 选项添加了 `$ git log -1 --name-status` 那么它与 `$ git log --name-status HEAD^..HEAD 相同` 由 @Mike Seplowitz 建议 (2认同)

nic*_*har 37

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

git show --name-only
Run Code Online (Sandbox Code Playgroud)

由于它列出只是在最后的文件提交,不给你整胆

输出的一个例子是:

commit  fkh889hiuhb069e44254b4925d2b580a602
Author: Lord Vader <darth@deathstar.empire.gov>
Date:   Sat May 4 16:50:32 2168 -0700

Changed shield frequencies to prevent Millenium Falcon landing

 www/controllers/landing_ba_controller.php                
 www/controllers/landing_b_controller.php              
 www/controllers/landing_bp_controller.php            
 www/controllers/landing_h_controller.php              
 www/controllers/landing_w_controller.php   
 www/htdocs/robots.txt                        
 www/htdocs/templates/shields_FAQ.html       
Run Code Online (Sandbox Code Playgroud)

  • 考虑`--name-status`而不是`--name-only`. (6认同)
  • 那里有问题..帝国使用php进行防御网格! (5认同)
  • 我在stackoverflow上看过的最好的例子!"那些不是你正在寻找的承诺." (3认同)
  • 如果您仍然想要状态但也想要缩写形式,请考虑“git show --oneline --name-status”。 (2认同)

mic*_*rub 21

git log -1 --name-status
Run Code Online (Sandbox Code Playgroud)

这对我有用吗?


shu*_*hra 17

查看上次提交更改

git show HEAD
Run Code Online (Sandbox Code Playgroud)

或者查看最后一次提交更改

git show HEAD~1
Run Code Online (Sandbox Code Playgroud)

并且为了进一步将上面的'1'替换为所需的提交序列号.


Gre*_*con 11

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

要么

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

  • 而不是`git log ... HEAD ^ .. HEAD`,使用`git log ... -1 HEAD`或者更好的`git show ... HEAD`是不是更简单? (2认同)

Mit*_*ari 7

完成几次提交或克隆/拉存储库后,您可能想查看已进行了哪些提交。只需检查这些简单的解决方案即可查看您的提交历史记录(从最近一次/最近一次提交到第一个提交)。

对于最后一次提交,只需触发以下命令:git log -1。有关更多有趣的内容,请参见下文-

  1. 要查看提交ID(SHA-1校验和),作者名称<mail ID>,日期以及时间和提交消息-

    git log
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要查看更多统计信息,例如在该提交期间更改的所有文件的名称以及插入/删除的次数。在查看代码时非常方便-

    git log --stat
    
    Run Code Online (Sandbox Code Playgroud)
  3. 要以一些漂亮的格式查看提交历史记录,请执行以下操作:)(之后是一些预构建选项)-

  4. 您甚至可以通过以下format选项使用自己的输出格式-

    git log --pretty=format:"%an, %ae - %s"
    
    Run Code Online (Sandbox Code Playgroud)

    其中%an-作者姓名,%ae-作者电子邮件,%s-提交主题,等等。

这可以帮助您了解提交历史。有关更多信息,请单击此处


and*_*oon 6

git diff --stat HEAD

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


小智 6

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

git show
Run Code Online (Sandbox Code Playgroud)

这会自动显示上次提交中的行差异。


Yas*_*Yas 6

就像git log -1 --stat你可以使用git show --stat.


小智 5

仅列出文件的另一种方法是使用:
git diff-tree --no-commit-id --name-only -r HEAD^..HEAD
或者您可以使用任意两个提交 ID