当贡献者从不同的计算机或操作系统添加到项目中时,可能会为此使用不同的电子邮件地址或名称,这会分散贡献者列表和统计信息。
运行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