Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
like image 958
alextercete Avatar asked Sep 27 '12 23:09

alextercete


3 Answers

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"
like image 120
alextercete Avatar answered Nov 09 '22 20:11

alextercete


You can do this with some scripting. There is a message body token for the format in git log (%b).

But nothing can do that in one command: You have to see whether the message body is empty or not.

like image 28
Adam Dymitruk Avatar answered Nov 09 '22 20:11

Adam Dymitruk


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.

like image 37
bjhend Avatar answered Nov 09 '22 21:11

bjhend