首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.mailmap:你能不能只在名字上匹配,没有电子邮件,或者通配符电子邮件?

.mailmap:你能不能只在名字上匹配,没有电子邮件,或者通配符电子邮件?
EN

Stack Overflow用户
提问于 2020-06-02 07:39:59
回答 1查看 193关注 0票数 1

第三方投稿人已经提交了他们的工作电子邮件地址和他们的个人电子邮件地址。我们使用一个.mailmap文件,它们被映射到他们的工作邮件中。他们现在在工作邮件上收到垃圾邮件,因为垃圾邮件发送者正在GitHub上收集GitHub文件。他们要求从.mailmap文件中删除。

旧的.mailmap文件仍然存在于git历史中,但至少不再存在于HEAD中。这是我们所能做的最好的,没有git-filter-branchgit push --force,而且让很多很多叉子不开心。

.mailmap的通用格式是:

代码语言:javascript
复制
Name you want to keep <email you want to keep> Name you no longer want <email you no longer want>

这些规定也是有效的:

代码语言:javascript
复制
Name you want to keep <email you want to keep> <email you no longer want>

代码语言:javascript
复制
Name you want to keep <email you want to keep>

但这也是一种有效的格式吗?

代码语言:javascript
复制
Name you want to keep <email you want to keep> Name you no longer want

因为这样,我们就可以将他们的名称映射到类似<name@invalid>的东西上,而不必将他们的电子邮件放在.mailmap文件中。

我已经试过这个,然后做了一个git log --use-mailmap,我仍然有旧的电子邮件地址。

我也试过

代码语言:javascript
复制
Name you want to keep <email you want to keep> <>

代码语言:javascript
复制
Name you want to keep <email you want to keep> <*>

代码语言:javascript
复制
Name you want to keep <email you want to keep> <.*>

代码语言:javascript
复制
Name you want to keep <email you want to keep> <**>

所有这些都不起作用。唯一起作用的是,当有一个与提交中的电子邮件地址完全匹配的真实电子邮件地址时,我不想在.mailmap文件中使用真实的电子邮件地址。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-02 23:20:45

Git的.mailmap文件不支持通配符,也没有办法将电子邮件地址映射为零,因为提交需要一个电子邮件地址。

您查询的语法是有效的,但是它会将用户名从旧名称重写到新名称,而不是没有电子邮件的格式。

如果您的目标是将用户的工作地址映射到其他东西(或无),而不将其列在文件中,则这是不可能的,因为查找主要是由提交对象本身的电子邮件地址进行的。您和用户都应该知道,如果您只是从.mailmap文件中删除地址,这不会阻止垃圾邮件,因为垃圾邮件发送者也从存储库(通过其他方式)获取电子邮件地址,这样他们就可以找到原始提交中的电子邮件。因此,没有办法至少停止收集以外的地址,无论是总是使用丢弃地址(如GitHub提供)或侵略性的诉讼对垃圾邮件发送者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62147099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档