我需要一个管道命令来打印一个给定提交的提交消息 - 不多也不少。
问问题
147276 次
8 回答
406
它不是“管道”,但它会完全按照您的意愿行事:
$ git log --format=%B -n 1 <commit>
如果你绝对需要一个“管道”命令(不知道为什么这是一个要求),你可以使用rev-list
:
$ git rev-list --format=%B --max-count=1 <commit>
尽管rev-list
除了提交消息之外还会打印出提交 sha(在第一行)。
于 2010-07-28T20:47:09.640 回答
165
git show
更像是一个管道命令git log
,并且具有相同的格式选项:
git show -s --format=%B SHA1
于 2013-08-01T13:45:30.500 回答
23
没有管道,但我的 .gitconfig 中有这些:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
那是“最后的总结”和“最后的消息”。您可以提供提交以获取该提交的摘要或消息。(我使用的是 1.7.0.5,所以没有 %B。)
于 2010-07-28T22:14:07.393 回答
17
这将为您提供任何指定时间的所有消息的非常紧凑的列表。
git log --since=1/11/2011 --until=28/11/2011 --no-merges --format=%B > CHANGELOG.TXT
于 2011-11-28T11:35:03.793 回答
16
我开始使用
git show-branch --no-name <hash>
它似乎比
git show -s --format=%s <hash>
两者都给出相同的结果
我实际上写了一个小工具来查看我所有回购的状态。你可以在github上找到它。
于 2019-02-26T12:58:30.557 回答
4
使用 git-rev-list 打印提交信息
git-rev-list
是让您打印提交消息的管道命令。
像这样使用它。
git rev-list --format=%B --max-count=1 <commit> | tail +2
--format=%B
: 显示消息(主题%s
+%n%n
+ 正文%b
)--max-count=1
: 我们只对一个提交感兴趣<commit>
:sha
,HEAD
,branch-name
,等tag-name
_branch1...branch2
| tail +2
: 第一行是提交 sha,跳过它
它比git log
or快很多git show
。
于 2021-05-04T14:01:21.093 回答
3
我为此使用短日志:
$ git shortlog master..
Username (3):
Write something
Add something
Bump to 1.3.8
于 2018-11-28T15:53:30.867 回答
1
在 git 中单独获取我的最后提交消息
git log --format=%B -n 1 $(git log -1 --pretty=format:"%h") | cat -
于 2021-03-02T04:48:41.780 回答