21.1 通过别名合并贡献者以显示提交次数(git shortlog -sn)

当贡献者从不同的机器或操作系统为项目做出贡献时,他们可能会使用不同的电子邮件地址或名称,这会导致贡献者列表和统计信息分散。

运行 git shortlog -sn 以获取贡献者列表及其提交次数可能会产生以下输出:

Patrick Rothfuss 871
Elizabeth Moon 762
E. Moon 184
Rothfuss, Patrick 90

这种分散/不关联可以通过提供一个纯文本文件 .mailmap 来调整,其中包含电子邮件映射。

一行中列出的所有名称和电子邮件地址将分别关联到第一个命名实体。

对于上述示例,映射可能如下所示:

Patrick Rothfuss <fussy@kingkiller.com> Rothfuss, Patrick <fussy@kingkiller.com>
Elizabeth Moon <emoon@marines.mil> E. Moon <emoon@scifi.org>

一旦此文件存在于项目根目录中,再次运行 git shortlog -sn 将会生成一个简化的列表:

Patrick Rothfuss 961
Elizabeth Moon 946