如何让“git log --oneline”显示哪些提交信息是多行的

10
我经常使用git log --oneline命令来快速查看我即将推送到或合并自远程的更改。是否可以附加一些标识符(例如"[...]")来标记该提交消息为多行消息,以便我知道那里有更多信息?
基本上,我想要的是这个:
e1140de Some commit message
d1f58d1 Some multine commit message [...]
736f778 Some other commit message
3个回答

7

Adam的回答的帮助下,我想到了一个替代我的需求的方法:

git log --format="%h %s%n%b"

这与--oneline类似,除了它在消息主题后面加上一个换行符和消息正文。一些颜色会让它看起来更好:

git log --format="%C(yellow)%h%Creset %Cgreen%s%Creset%n%b"

1
我们在提交历史中默认有多行注释。如何获取多行提交的最后一行? - Arun George

2

您可以使用一些脚本来实现此操作。在git日志中,有一个格式的消息正文令牌(%b)。

但是没有一条命令可以完成这个任务:您必须查看消息正文是否为空。


感谢您指出消息正文的令牌。记录一下,它是%b - alextercete
将此添加到答案中 :) 您不会得到空行吗?那就不需要脚本了 :) - Adam Dymitruk

1

我习惯于手动添加“(s.b.)”来表示“见下文”。

如果提交信息是多行的,您可以使用prepare-commit-msg钩子自动追加它。


1
我并不想去改变提交信息,这只是一个可视化需求。 - alextercete

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接