git 错误“您的推送将发布私人电子邮件地址”

pvabu6sv  于 2023-01-04  发布在  Git
关注(0)|答案(7)|浏览(852)

我对GitHub/VCS非常陌生。
当我尝试在GitHub上共享我的项目时,我收到了以下错误消息。

Can't finish GitHub sharing process
    Successfully created project 'myproject' on GitHub, but initial push failed:
    remote: error: GH007: Your push would publish a private email address.
    failed to push some refs to 'https://github.com/me/myproject.git'

我已经在Google上搜索了错误消息,但没有找到匹配项。我还搜索了Stack Exchange,但没有找到cigar。我该如何解决这个问题?

t3psigkw

t3psigkw1#

当启用"阻止暴露我邮箱的命令行推送"功能时,你还需要配置Git使用你的无回复邮箱地址。别担心,这不会影响你的贡献图。所有提交仍然与你的账户关联。
1.打开终端。
1.将当前工作目录更改为您要配置与Git提交关联的电子邮件地址的本地存储库。
1.在你的GitHub的Personal Settings → Emails中找到你的GitHub无回复地址。它在 * 保持我的电子邮件地址私有 * 复选框的描述中提到。通常,它以一个唯一的标识符加上你的用户名开始。

  • 在Git中设置电子邮件地址。使用GitHub提供的无回复电子邮件地址。
  • 为计算机上的 * 每个 * 存储库设置电子邮件地址
git config --global user.email "{ID}+{username}@users.noreply.github.com"
  • 为 * 单个 * 存储库设置电子邮件地址
git config user.email "{ID}+{username}@users.noreply.github.com"
  • 在上次提交时重置作者信息:
git commit --amend --reset-author

如果您有多个提交使用您的私人电子邮件地址,请参见this answer

  • 现在你可以用noreply邮件地址推送提交,以后的提交也会使用noreply邮件地址。
git push

一旦你配置好Git,提交将使用你的"noreply"邮箱地址,任何不这样做的推送都将被拒绝。

mjqavswn

mjqavswn2#

    • 警告:这将暴露您的电子邮件地址!**每个提交都包含提交者的电子邮件地址,对于公共仓库,此信息是公开的。

--
我也遇到了相同的error: GH007消息,并使用以下方法解决了这个问题。
1.转到 * Setting your commit email address *。
1.按照 * 为计算机上的每个存储库设置电子邮件地址 * 进行操作。
1.打开你的GitHub账户,然后进入设置电子邮件
1.选中将我的电子邮件地址保密复选框。
1.取消选中阻止暴露我的电子邮件的命令行推送复选框。

r6hnlfcb

r6hnlfcb3#

1.打开github.com的电子邮件部分。访问https://github.com/settings/emails
1.转到Keep my email addresses private部分并记下您的donotreply电子邮件ID。
1.打开git终端并使用以下命令将您的donotreply电子邮件ID设置为您的电子邮件ID:

git config --global user.email "<your_donotreply_email_id"

1.恢复你最近的本地提交(用你的私人邮箱),这些提交被推送到仓库失败了。

git reset --soft HEAD~1

1.暂存并推送这些提交

git add .
git commit –m "<commit_message>"
git push
gab6jxml

gab6jxml4#

有一个解决方案,w/o暴露您的电子邮件。发生错误是因为您在git config --(global|system|local) user.email中配置了自己的电子邮件地址。
如果同一封邮件是您的Github邮件,并且您选择了将邮件设为私有,则git会标记此错误。
Github为您提供了一个无回复邮件地址,您可以使用它执行命令行操作。只需在Github个人资料中检查电子邮件设置即可。
You can simply remove or undo the commit done with the user.name and before committing changes again, set another email for
git config --(global|system|local) user.email "<no-reply-email-here>".
现在,当您尝试将更改推送到远程存储库时,错误应该消失了。

4dbbbstv

4dbbbstv5#

您可能已经启用了(或者现在默认启用了)GitHub的电子邮件隐私功能。
详情请参见this page at GitHub help
简而言之,您可以启用一个切换功能(您的帐户已启用),以防止用户使用您的实际电子邮件地址进行推送。您可以使用匿名地址(或选择禁用该功能)。
两个选项的详细信息可通过at the same page获得。

jum4pzuy

jum4pzuy6#

我遇到了同样的问题。我的解决方案如下图所示:

ozxc1zmp

ozxc1zmp7#

我也遇到了同样的问题,我不能在上次提交时重置作者信息(如这里所建议的),而是删除了**.git**,并再次执行了git init,所以不再需要修改提交。

相关问题