How to make 'git log –oneline' show which commit messages are multiline
I find myself doing
git log --oneline quite often to get a quick glance at changes I am about to push to or merge from the remote. Is it possible to append some identifier (such as “[…]”) to mark that commit message as a multiline one, so I can know that there is more information there?
Basically, what I want is this:
e1140de Some commit message d1f58d1 Some multine commit message [...] 736f778 Some other commit message
3 Solutions collect form web for “How to make 'git log –oneline' show which commit messages are multiline”
With the help of Adam’s answer, I came up with an alternative to my requirement:
git log --format="%h %s%n%b"
This is just like
--oneline, except it puts a linebreak and the message body just after the message subject. It looks much better with some coloring:
git log --format="%C(yellow)%h%Creset %Cgreen%s%Creset%n%b"
You can do this with some scripting. There is a message body token for the format in git log (
But nothing can do that in one command: You have to see whether the message body is empty or not.
I got used to manually append “(s.b.)” for this which stands for “see below”.
You may use a prepare-commit-msg hook to append it automatically if a commit msg is multiline.