通常在提交过程中($ git -commit -m ""),我希望阅读我的最后一条注释,以记住我已经取得了什么进展。是否有一种简单的方法可以通过命令行直接访问最后的提交消息?(我用的是Windows。)


当前回答

我刚刚通过检索前面的命令找到了shell的一个变通方法。

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

reverse-i-search

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

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

进入。就是这样!

(在Ubuntu shell中测试)

其他回答

这个命令将得到最后一个提交消息:

git log -1 --oneline --format=%s | sed 's/^.*: //'

输出类似于:

Create FUNDING.yml

您可以将-1更改为任何负数,以增加检索到的提交消息的范围

如果你只想看到提交消息的主题(第一行):

git log -1 --format=%s

这在之前的任何答案中都没有记录。另外,通过no的方法也显示了这一点。

参考:

git log - emsem

我刚刚通过检索前面的命令找到了shell的一个变通方法。

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

reverse-i-search

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

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

进入。就是这样!

(在Ubuntu shell中测试)

你可以使用

git show -s --format=%s

这里——格式支持各种打印选项,请参阅这里的文档。具体来说,%s表示“主体”。此外,-s代表——no-patch,它抑制了diff内容。

我经常用

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

%h表示提交的短散列

另一种方法是

git show-branch --no-name HEAD

它似乎比另一条路跑得快。

实际上,我写了一个小工具来查看所有回购的状态,包括编辑状态、与远程分支的关系等。它还从任何工作目录批量执行命令。

你可以在github上找到它。

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

但下面这个涵盖了所有的情况,

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

没有多余的空白 放弃合并提交 没有提交id,日期,只显示消息。

自己粘贴看看