我需要一个管道命令来打印一个给定提交的提交消息——不多也不少。


当前回答

我用shortlog来表示:

$ git shortlog master..
Username (3):
      Write something
      Add something
      Bump to 1.3.8 

其他回答

Git show更像是一个管道命令,而不是Git日志,并且有相同的格式化选项:

git show -s --format=%B SHA1

它不是“管道”,但它会做你想要的:

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

如果你绝对需要一个“管道”命令(不知道为什么这是一个要求),你可以使用rev-list:

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

尽管rev-list除了提交消息外还会打印出commit sha(在第一行)。

我用shortlog来表示:

$ git shortlog master..
Username (3):
      Write something
      Add something
      Bump to 1.3.8 

不是管道,但我有这些在我的。gitconfig:

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

这是“最后的总结”和“最后的信息”。您可以提供一个提交来获得该提交的摘要或消息。(我使用1.7.0.5,所以没有% b)

我开始使用

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

它似乎比

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

两者都给出了相同的结果

实际上,我写了一个小工具来查看所有回购的状态。你可以在github上找到它。