git shortlog
按作者分组汇总提交记录,常用于生成变更日志和贡献者统计
语法
git shortlog [<options>] [<revision-range>] [[--] <path>...]
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
-s |
只显示提交数量 | |
常用 |
-n |
按提交数量排序(从多到少) | |
常用 |
-e |
显示作者邮箱 | |
常用 |
--group=trailer:<key> |
按提交信息中的 trailer 分组 | |
常用 |
--since=<date> |
只统计指定日期之后的提交 | |
常用 |
示例
按提交数量排序显示所有贡献者
git shortlog -sn
142 张三
87 李四
23 王五
显示贡献者的提交数和邮箱
git shortlog -sne
统计今年以来的贡献
git shortlog -sn --since="2024-01-01"
统计两个版本之间的提交
git shortlog v1.0.0..v2.0.0
排除合并提交的统计
git shortlog --no-merges -sn
技巧
- 生成 CHANGELOG 时非常有用
- 开源项目用 git shortlog -sn 展示贡献者排行
- 配合版本标签可以生成每个版本的变更摘要
- 加 --no-merges 排除合并提交,统计更准确