介绍

Git mailmap 是邮箱与作者/提交者信息的映射。简单说就是可以用来修正错误的提交作者信息。

例如一个仓库中存在着大量错误作者信息的历史提交,让所有人重新克隆仓库并不是一个可行的选择,在这种情况下可以使用 mailmap 将错误的作者信息重新映射为正确的作者信息。在正确的处理后,git loggit shortlog 都会正确地显示作者信息与统计,Fork 与 Sourcetree 也会在历史界面中正确显示作者信息。

使用

按照官方文档提供的格式,将错误的作者信息映射到正确的作者信息,大概格式:

1
正确的作者名字 <正确的邮箱> 错误的作者名字 <错误的邮箱>

将文件保存到仓库根目录下并命名为 .mailmap

效果

git log git shortlog -sn 都会正确显示映射后的信息。

Fork | Repository | Repository Statistics 也会正确显示所有的作者信息。

修改历史

可以尝试使用 git filter-repo 配合 mailmap 修正所有的作者信息。