如何阅读最后的提交评论?


400

通常$ git -commit -m "",我希望在提交()期间阅读我的最新评论,以记住自己取得的进步。是否有一种简单的方法可以通过命令行直接访问最后的提交消息?(我正在使用Windows。)


6
如果这是常规操作,请为您选择的解决方案/命令行创建一个alias(例如wherewasi;-)。您还可以包括分支信息。
菲利普·奥克利

Answers:


755
git show

是最快的类型,但也会显示差异。

git log -1

快速简单。

git log -1 --pretty=%B

如果您只需要提交消息,而不需要其他任何内容。


2
%B格式是我不需要缩进提交消息所需的格式。是的,@ Juh_,即使git gui不会为您换行,在提交消息中使用80列文本也是个好主意,而不是每段显示一行。
彼得·科德斯

4
@Juh_您可以使用来显示整个消息git log -1 --pretty=%B | cat,但是正如Peter所说的,您应该尝试将其保留为80个字符。
Ruckus T-Boom 2015年

3
@Juh_,这为时已晚,但是如果您希望将提交消息换行,只需将输出通过管道传递到cat 即:git log -1 --pretty= | cat
kosgeinsky

8
有人正在寻找有关百分比占位符的更多信息,请参见:kernel.org/pub/software/scm/git/docs/…(向下滚动至format:<string>)。
imme,2015年

3
如果按照man docs中的建议将format:前缀添加到%B,则在输出末尾不会显示多余的空行:git log -1 --pretty=format:%B
Mariano Ruiz

84

通常:

git log -n

将向您显示最后的n提交消息

更优雅-如果您想快速查看提交内容

git log --oneline -n

这将仅显示最后n提交消息的第一行。

您可以使用较短的命令将其另存为git别名或shell别名。glog例如,我已经将其保存在外壳中,并且可以看到最近的10条提交消息glog -10



14

您可以使用

git show -s --format=%s

此处--format启用各种打印选项,请参见此处的文档。具体来说,%s是指“主题”。另外,-s代表--no-patch,它抑制了diff含量。

我经常用

git show -s --format='%h %s'

其中%h表示提交的简短哈希

另一种方法是

git show-branch --no-name HEAD

它似乎比其他方法运行得更快。

我实际上写了一个小工具来查看我所有存储库的状态。您可以在github上找到它。


IMO优于多次提交的公认答案。它不会对我产生不必要的换行符。可以通过包含-5来显示多个提交(即过去的5次),即git show -s --format=%s -5
Sigmatics

10

git log -1 branch_name 会向您显示来自指定分支的最后一条消息(即不一定是您当前所在的分支)。


7

为了更易读,请运行以下命令一次:

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

这样,当您运行时:

git lg

您会得到很好的读数。只显示最后一行:

git lg -1

解决方案在这里找到


4

从开始 git log -1 --pretty='%s'

但是下面的例子涵盖了所有情况,

git log --pretty='format:%Creset%s' --no-merges -1

  • 没有多余的空格
  • 放弃合并提交
  • 没有提交ID,日期,仅显示消息。

粘贴并亲自查看



0

我刚刚通过检索先前的命令找到了解决shell的方法。

Ctrl-R调 出反向搜索命令:

reverse-i-search

然后开始输入git commit -m,这会将其添加为搜索命令,这将带来先前的git commit及其消息:

reverse-i-search`git commit -m`: git commit -m "message"

输入。而已!

(在Ubuntu Shell中测试)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.