! [remote rejected] master -> master (push declined due to email privacy restrictions)

GitHub消息的含义:由于电子邮件隐私限制,推送被拒绝

 
99
 

这可能是由于新的GitHub设置阻止了暴露您的电子邮件地址的命令行推送。

尝试取消选中电子邮件设置中的“阻止命令行推送我的电子邮件”框,然后再次按下。

  • 12
    取消选中此选项会暴露我的私人电子邮件地址? -  Franck Freiburger 于2017年4月12日19:39
  • 11
    是的,这就是它会做什么,但如果您已将提交推送到您的存储库,那么您已经公开了您的电子邮件地址。即使Github不会显示您的电子邮件地址,如果我克隆您的存储库,我可以看到它们是相同的,这就是这个新的防止推送的东西会阻止的。 -  LasseVågsætherKarlsen  2017年4月12日19:40
266

远程存储库已配置为禁止您推送会泄露您的个人电子邮件地址的提交。例如,在GitHub中,您已选中阻止命令行推送显示我的电子邮件复选框以启用此功能

阻止命令行推送暴露我的电子邮件

虽然您当然可以取消选中该设置,但它会将您的私人电子邮件地址公开给世界上的每个人,因为任何有权访问您的存储库的人都可以读取作者信息。

相反,这样做:

  1. 您可以看到您的个人电子邮件地址,默认情况下用于Git中的提交:

    git config --global user.email
  2. 在GitHub的个人设置→电子邮件中找到您的GitHub noreply地址在“ 保持我的电子邮件地址专用”复选框的说明中提到了它通常,它以唯一标识符和用户名开头:

    {ID}+{username}@users.noreply.github.com

    将我的电子邮件地址保密

  3. 将全局用户电子邮件地址设置更改为您的GitHub noreply地址:

    git config --global user.email {ID}+{username}@users.noreply.github.com
  4. 重置上次提交时的作者信息:

    git commit --amend --reset-author

    如果您的私人电子邮件地址有多个提交,请参阅此答案

  5. 现在,您可以使用noreply电子邮件地址推送提交,并且将来的提交也将具有noreply电子邮件地址。

    git push

https://stackoverflow.com/questions/43378060/meaning-of-the-github-message-push-declined-due-to-email-privacy-restrictions/43378177

 

posted @ 2019-06-12 20:47  wq9  阅读(286)  评论(0)    收藏  举报