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


当前回答

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

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

输出类似于:

Create FUNDING.yml

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

其他回答

你可以使用

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 branch_name将显示来自指定分支的最后一条消息(即不一定是您当前所在的分支)。

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

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

reverse-i-search

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

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

进入。就是这样!

(在Ubuntu shell中测试)

一般来说:

git log -n

会显示最后n个提交消息吗

如果你想快速了解你的提交,那就更优雅了

git log --oneline -n

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

您可以使用更短的命令将其保存为git别名或shell别名。例如,我将它作为glog放在我的shell中,我可以使用glog -10查看我最近的10条提交消息。

为了更好读,运行一次这个命令:

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

在这里找到解决方案