Git:看我最后一次提交

我只想看到在最后一次提交中提交的文件,就像我在git commit中看到的列表一样。不幸的是

git "last commit" log

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

git diff HEAD^..HEAD

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

578075 次浏览

使用# EYZ0:

git show --summary

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

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

or

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

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

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

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

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

git log -1 --stat

可以工作

git log -1 --name-status

为我工作。

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

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

# EYZ0

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

查看最后一次提交

git log -1

查看最后2个提交

git log -2

等等……

在执行多次提交或克隆/提取存储库之后,您可能希望看到已经进行了哪些提交。只需检查这些简单的解决方案,查看您的提交历史(从上次/最近的提交到第一次提交)。

对于最后一次提交,只需执行这个命令:git log -1。更多有趣的事情请看下面

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

    git log
    
  2. To see some more stats, such as the names of all the files changed during that commit and number of insertions/deletions. This comes in very handy while reviewing the code -

    git log --stat
    
  3. To see commit histories in some pretty formats :) (This is followed by some prebuild options)-

    • If you have too many commits to review, this command will show them in a neat single line:

      git log --pretty=oneline
      
    • To see short, medium, full, or even more details of your commit, use following, respectively -

      git log --pretty=short
      git log --pretty=medium
      git log --pretty=full
      git log --pretty=fuller
      
  4. You can even use your own output format using the format option -

    git log --pretty=format:"%an, %ae - %s"
    

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

这可以帮助您处理提交历史。有关详细信息,请单击在这里

查看上次提交的更改

git show HEAD

或者查看第二个最后提交的更改

git show HEAD~1

此外,只需将上面的“1”替换为所需的提交序列号。

另一种只列出文件的方法是使用:
# EYZ0 < br > 或者你可以使用任意两个提交id

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

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

希望这能有所帮助。

你可以跑

 git show --source

它显示了作者,日期,提交的消息和diff - git的所有更改文件在最近的提交。

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

git show

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

在git中单独获得我的最后一个提交消息

# EYZ0

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

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

如果你也想看到内容的变化,删除——名义

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

要查看以前的提交SHA

git log -n 2 --pretty=format:"%h" | tail -n 1

和没有git: tail -n1 .git/logs/HEAD | cut -d' ' -f1,8-

git log -1 --stat,你可以使用git show --stat