我需要一个管道命令来打印一个给定提交的提交消息——不多也不少。
当前回答
我开始使用
git show-branch --no-name <hash>
它似乎比
git show -s --format=%s <hash>
两者都给出了相同的结果
实际上,我写了一个小工具来查看所有回购的状态。你可以在github上找到它。
其他回答
它不是“管道”,但它会做你想要的:
$ git log --format=%B -n 1 <commit>
如果你绝对需要一个“管道”命令(不知道为什么这是一个要求),你可以使用rev-list:
$ git rev-list --format=%B --max-count=1 <commit>
尽管rev-list除了提交消息外还会打印出commit sha(在第一行)。
不是管道,但我有这些在我的。gitconfig:
lsum = log -n 1 --pretty=format:'%s'
lmsg = log -n 1 --pretty=format:'%s%n%n%b'
这是“最后的总结”和“最后的信息”。您可以提供一个提交来获得该提交的摘要或消息。(我使用1.7.0.5,所以没有% b)
我用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-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>: a sha, HEAD, branch-name, tag-name, branch1…branch2等等。 | tail +2:第一行是提交sha,跳过它
它比git log或git show快得多。
推荐文章
- Visual Studio代码如何解决合并冲突与git?
- 无法推送到远程分支,无法解析到分支
- Git:如何将数据库重置为特定的提交?
- 如何在合并期间使用Git和命令行保存本地文件或远程文件?
- 能够用一个命令推到所有git遥控器?
- 重新基于Git合并提交
- 忽略已经签入目录的内容?
- 如何从windows cmd保存git提交消息?
- (Mac) -bash: __git_ps1:命令未找到
- 如何删除多个已删除的文件在Git仓库
- 使用vimdiff查看所有' git diff '
- 如何拉特定的目录与git
- 本地存储库中的文件与源文件之间的差异
- 将Git存储库内容移动到另一个存储库,保存历史记录
- 如何在GitHub上创建自己的存储库?