我该如何防止Git使用形式为username@pc-name的电子邮件而不是空白邮件地址?

5
每当我尝试使用GIT时,它会自动丰富我的提交信息,包括用户名、电子邮件和/或计算机名称等大量私人数据。
如何正确配置GIT,以便它永远不会自动泄露我的私人数据?
我已经执行了...
git config --global user.name Robert
git config --global user.email ""

然而,我的提交/推送仍然包含我的帐户和计算机名称,我认为这是私人数据。

如何才能使GIT不将我的个人信息发布到存储库/互联网中?


3
在你的提交中,你在哪里看到这些信息?尝试运行git log --raw -1命令。你能在这个命令的输出中看到相关信息吗?*[...] my commits/pushes still contain my account and computer name [...]* - jub0bs
1
即使明确设置了电子邮件,它仍然使用形式为username@pc-name(pc-name包括名称和FQDN)的自动生成的电子邮件。 - Robert
请查看 https://dev59.com/9H_aa4cB1Zd3GeqP11no#56232509 - laktak
2个回答

8

运行

git config --global user.email ""

清除用户级别配置文件中的user.email字段,这将使Git认为您尚未设置电子邮件地址(当然,基于假设,在存储库级别配置文件中未指定电子邮件地址)。

作为一种对策,Git将生成一个形如username@pc-name(其中pc-name包括名称和FQDN)的电子邮件地址,并将该电子邮件地址嵌入到您的提交中:

$ git log -1
commit 9cd00b7ed6206086bf332e0481092590d07626d5
Author: jubobs <jubobs@jubobs-MacBook-Pro.local>
Date:   Thu Dec 18 16:23:19 2014 +0000

然而,Git确实可以被欺骗使用空的电子邮件地址;您只需要运行以下命令即可(已在Git 2.1.3上测试):

git config --global user.email "\<\>"

然后,Git 将不会使用上述自动生成的电子邮件地址:
$ git log -1
commit 0d0bb289b293ec020b607021bbd886be5107bc7f
Author: Jubobs <>
Date:   Thu Dec 18 16:25:14 2014 +0000

相关链接:Git提交没有邮件


您发布的命令导致了“语法错误”,但稍作修改后它可以正常工作:git config --global user.email "\<\>" - Robert
@Robert Weird。在我的电脑上它运行良好。你使用的是哪个版本的Git和哪个shell? - jub0bs
@Jubobs 我已经安装了Git 1.9.4。 - Robert

1
如果GIT仓库属于GitHub项目,则不建议指定无效的电子邮件地址。相反,GitHub提供了以下替代方案(引自GitHub帮助):
如果您想保持您的电子邮件地址私密,请将Git配置电子邮件设置为username@users.noreply.github.com,将username替换为您的GitHub用户名。
注意:如果您在2017年7月18日之后创建了GitHub帐户,则GitHub提供的无回复电子邮件地址是一个七位数字的ID号和ID+用户名@users.noreply.github.com形式的用户名。如果您在2017年7月18日之前创建了GitHub帐户,则GitHub提供的无回复电子邮件地址是您的用户名,格式为username@users.noreply.github.com。您可以通过在电子邮件设置中选择(或取消选择并重新选择)“保持我的电子邮件地址私有”来获取基于ID的GitHub提供的无回复电子邮件地址。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接