所以我设法以domenic <domenic@domenicdenicola.com>
和Domenic Denicola <domenic@domenicdenicola.com>
的身份提交了一个GitHub项目。这很烦人,特别是对于生成摘要。
我知道how to change the authors/committers retroactively。然而,这对于已经被推动和公开的项目具有许多不良后果,例如,改变所有的哈希值(从而使人们对它们的链接无效,或对它们发表评论);丢失标签;而且我担心GitHub甚至可能最终将“Domenic Denicola 5分钟前提交的内容”附加到项目中的每一个提交中。所以这不是一个选择。
我希望有一些方法可以告诉Git,“这两位作者/提交者完全是同一个人;算一算。”有吗?
答案 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-filter
(see another question)重写历史记录,将其推送到新的存储库并查看它的外观?