Распечатать сообщение коммита данного коммита в git - PullRequest
194 голосов
/ 29 июля 2010

Мне нужна сантехническая команда, чтобы напечатать сообщение о коммите одного данного коммита - ни больше, ни меньше.

Ответы [ 6 ]

267 голосов
/ 29 июля 2010

Это не "слесарное дело", но оно будет делать именно то, что вы хотите:

$ git log --format=%B -n 1 <commit>

Если вам абсолютно необходима команда «сантехника» (не знаю, почему это требование), вы можете использовать rev-list:

$ git rev-list --format=%B --max-count=1 <commit>

Несмотря на то, что rev-list будет также печатать коммит ша (в первой строке) в дополнение к сообщению коммита.

113 голосов
/ 01 августа 2013

git show - это скорее сантехническая команда, чем git log, и имеет те же параметры форматирования:

git show -s --format=%B SHA1
15 голосов
/ 28 ноября 2011

Это даст вам очень компактный список всех сообщений за указанное время.

git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
12 голосов
/ 29 июля 2010

Не сантехника, но они есть в моем .gitconfig:

lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'

Это "последнее резюме" и "последнее сообщение".Вы можете предоставить коммит, чтобы получить сводку или сообщение об этом коммите.(Я использую 1.7.0.5, поэтому не имею% B.)

2 голосов
/ 28 ноября 2018

Я использую шортлог для этого:

$ git shortlog master..
Username (3):
      Write something
      Add something
      Bump to 1.3.8 
0 голосов
/ 26 февраля 2019

Я начал использовать

git show-branch --no-name <hash>

Кажется, быстрее

git show -s --format=%s <hash>

Оба дают одинаковый результат

...