git shortlog
命令用于汇总git日志输出。
使用语法
git log --pretty=short | git shortlog [<options>] git shortlog [<options>] [<revision range>] [[\--] <path>…]
适当包含在发布公告中的格式汇总git日志输出。每个提交将按作者和标题分组。
另外,“[PATCH]
”将从提交描述中删除。
如果在命令行上没有传递修订版本,并且标准输入不是终端或没有当前的分支,则git shortlog
将输出从标准输入读取的日志的摘要,而不引用当前存储库。
一个开发小组有10个程序员,他们用 Git 做版本控制,某一天程序员A push了当天的几个commit之后,突然在想“我在这个项目到底一共进行过多少次commit?谁比我commit更多?多多少?谁是组里面进行最多 commit的?谁是最少的?”
Git 非常人性化地支持这样一个命令:
$ git shortlog
这个命令会返回这个 git repository 底下每个用户进行 commit 的次数,以及每次 commit 的注释。
-s
参数省略每次 commit 的注释,仅仅返回一个简单的统计。-n
参数按照 commit 数量从多到少的顺利对用户进行排序
以下是一些示例 -
$ git shortlog -s -n Tom Preston-Werner Jack Danger Canty Chris Van Pelt Mark Reid remi Mikael Lind Toby DiPasquale Aristotle Pagaltzis Basil Shkara John Reilly PJ Hyett Marc Chung Nick Gerakines Nick Quaranto Tom Kirchner
比如想要知道一个开源项目(例如 Graphiti )的 commit 统计
$ git shortlog -s -n maxsu your_name minsu Maxsu
上面的结果表明, maxsu
确实是这个开源项目的主要开发者。