“Alias”git作者/提交者?

时间:2012-05-17 14:49:24

标签: git github

所以我设法以domenic <domenic@domenicdenicola.com>Domenic Denicola <domenic@domenicdenicola.com>的身份提交了一个GitHub项目。这很烦人,特别是对于生成摘要。

我知道how to change the authors/committers retroactively。然而,这对于已经被推动和公开的项目具有许多不良后果,例如,改变所有的哈希值(从而使人们对它们的链接无效,或对它们发表评论);丢失标签;而且我担心GitHub甚至可能最终将“Domenic Denicola 5分钟前提交的内容”附加到项目中的每一个提交中。所以这不是一个选择。

我希望有一些方法可以告诉Git,“这两位作者/提交者完全是同一个人;算一算。”有吗?

3 个答案:

答案 0 :(得分:30)

在您的仓库中设置.mailmap文件。有关详细信息,请参阅git help shortlog,或查看Git itself的内容。

请参阅Mapping authors部分:https://git-scm.com/docs/git-shortlog#_mapping_authors

答案 1 :(得分:4)

如果您提交的电子邮件与您的帐户关联的电子邮件不同,则可以在https://github.com/settings/emails添加其他电子邮件。

使用Source Tree提交GitHub时出现此问题。它使用名称:pcuser @ pcFQDN提交,这不是我的电子邮件地址。将此虚假地址添加到我的GitHub帐户使我的所有提交显示为我。它不要求验证地址。

答案 2 :(得分:0)

据我所知,目前无法添加此类名称别名。你能用两个不同的实名来详细说明你遇到的问题吗? git shortlog -s -e是唯一的问题吗?

对于GitHub部分,也许您应该尝试使用git filter-branch --env-filtersee another question)重写历史记录,将其推送到新的存储库并查看它的外观?