我使用git,并且在mailmap中有条目,它将人们使用的各种电子邮件地址重新映射到该用户的“规范”名称和电子邮件。然而,我也有一些历史上的提交,其中根本没有电子邮件,只有用户名,例如"tommy“。
我想重新映射这些,为该用户的规范名称和电子邮件,但一直无法做到这一点。我都试过了:
Canonical_name tommy
Canonical <canonical@email> tommy <>
Canonical tommy <>但这些似乎都没有任何效果。
编辑澄清:我没有任何改变历史的愿望。我只想在使用%aN打印时显示规范的名称,它使用mailmap重新映射名称。这对于3个不同的电子邮件地址应该映射到一个规范名称的情况下是完美的。但对于原始发送者根本没有提供电子邮件地址的情况,根本不是这样的。
发布于 2021-12-23 19:10:14
OP尝试的第二行语法在我的机器上运行(git版本2.33.1):
Canonical <canonical@email> tommy <>也许这是git在最初提出这个问题后的十年中添加的一个功能。
发布于 2011-12-19 20:51:15
因为提交已经在树中,所以它们不会改变--这会破坏历史的完整性!
如果您真的想这样做,那么唯一的选择就是使用git filter-branch,有关详细信息,请参阅here。但您肯定会更改您的存储库,这意味着使用该存储库作为基础的其他人也会受到影响。
发布于 2011-12-19 20:52:17
您可以添加一个假的电子邮件地址,如none@mycompany.com。
另一方面:如果人们还在项目中,他们现在就会有一个现有的E-地址。如果它们已经不在那里了:为什么还要为地址而烦恼?在这种情况下你可以用一个假地址...
https://stackoverflow.com/questions/8561596
复制相似问题