第三方投稿人已经提交了他们的工作电子邮件地址和他们的个人电子邮件地址。我们使用一个.mailmap文件,它们被映射到他们的工作邮件中。他们现在在工作邮件上收到垃圾邮件,因为垃圾邮件发送者正在GitHub上收集GitHub文件。他们要求从.mailmap文件中删除。
旧的.mailmap文件仍然存在于git历史中,但至少不再存在于HEAD中。这是我们所能做的最好的,没有git-filter-branch和git push --force,而且让很多很多叉子不开心。
.mailmap的通用格式是:
Name you want to keep <email you want to keep> Name you no longer want <email you no longer want>这些规定也是有效的:
Name you want to keep <email you want to keep> <email you no longer want>和
Name you want to keep <email you want to keep>但这也是一种有效的格式吗?
Name you want to keep <email you want to keep> Name you no longer want因为这样,我们就可以将他们的名称映射到类似<name@invalid>的东西上,而不必将他们的电子邮件放在.mailmap文件中。
我已经试过这个,然后做了一个git log --use-mailmap,我仍然有旧的电子邮件地址。
我也试过
Name you want to keep <email you want to keep> <>和
Name you want to keep <email you want to keep> <*>和
Name you want to keep <email you want to keep> <.*>和
Name you want to keep <email you want to keep> <**>所有这些都不起作用。唯一起作用的是,当有一个与提交中的电子邮件地址完全匹配的真实电子邮件地址时,我不想在.mailmap文件中使用真实的电子邮件地址。
发布于 2020-06-02 23:20:45
Git的.mailmap文件不支持通配符,也没有办法将电子邮件地址映射为零,因为提交需要一个电子邮件地址。
您查询的语法是有效的,但是它会将用户名从旧名称重写到新名称,而不是没有电子邮件的格式。
如果您的目标是将用户的工作地址映射到其他东西(或无),而不将其列在文件中,则这是不可能的,因为查找主要是由提交对象本身的电子邮件地址进行的。您和用户都应该知道,如果您只是从.mailmap文件中删除地址,这不会阻止垃圾邮件,因为垃圾邮件发送者也从存储库(通过其他方式)获取电子邮件地址,这样他们就可以找到原始提交中的电子邮件。因此,没有办法至少停止收集以外的地址,无论是总是使用丢弃地址(如GitHub提供)或侵略性的诉讼对垃圾邮件发送者。
https://stackoverflow.com/questions/62147099
复制相似问题