当前位置: 首页 > 教程 > Git >

git shortlog命令

精华
小牛编辑
192浏览
2023-03-14

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
  135  Tom Preston-Werner
  15  Jack Danger Canty
  10  Chris Van Pelt
  7  Mark Reid
  6  remi
  3  Mikael Lind
  3  Toby DiPasquale
  2  Aristotle Pagaltzis
  2  Basil Shkara
  2  John Reilly
  2  PJ Hyett
  1  Marc Chung
  1  Nick Gerakines
  1  Nick Quaranto
  1  Tom Kirchner

比如想要知道一个开源项目(例如 Graphiti )的 commit 统计

$ git shortlog -s -n
    16  maxsu
     5  your_name
     2  minsu
     1  Maxsu

上面的结果表明, maxsu 确实是这个开源项目的主要开发者。