贡献统计怎么做
按作者汇总提交数量:摘要模式只输出计数,排序模式按数量排列,附带邮箱模式会显示邮箱,还可以指定提交区间统计某个发布周期的贡献。它常被用来生成发布致谢名单。
基本信息
| 摘要模式 | 只输出计数与作者名 |
|---|---|
| 排序 | 按提交数量排序,便于看分布 |
| 邮箱 | 附带作者邮箱,便于核对身份 |
| 区间统计 | 可在版本区间内统计,例如两个标签之间 |
| 署名归并 | 配合署名映射文件把同一人的多种署名合并 |
典型使用场景
- 发布前生成贡献者名单
- 统计某个版本周期内的提交分布
- 核对是否存在异常作者名或机器账号
- 按作者排查提交量异常
- 把同一人的多种署名合并后统计真实贡献
常用示例
常用示例
git shortlog -sn # 按提交数量排序的作者摘要
git shortlog -sne # 附带邮箱
git shortlog -sn --all # 统计所有分支
git shortlog -sn v1.0..v2.0 # 统计两个版本之间的贡献
git shortlog -sn --no-merges # 排除合并提交选项对照
| 选项 | 作用 |
|---|---|
| -s | 只输出计数摘要 |
| -n | 按提交数量排序 |
| -e | 显示作者邮箱 |
| --all | 统计所有分支而非仅当前分支 |
发布前一键生成贡献名单很省事,但要注意署名映射:同一个人用多种署名提交时会被统计成多个人。
统计口径默认只看当前分支,跨分支统计要显式指定,否则数字会明显偏小。
排除合并提交后的计数更接近实际工作量,对比两次统计时口径要统一说明,避免出现两份不同的名单。
机器账号与持续集成的身份会混进统计结果,生成对外名单前先确认是否需要剔除。
统计结果依赖提交时间与作者信息,仓库迁移或改写历史后数字会变化,对外引用前先重新生成一次。