首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GitHub消息的含义:由于电子邮件隐私限制,推送被拒绝

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

Stack Overflow用户
提问于 2017-04-12 19:28:06
回答 7查看 104.2K关注 0票数 360

我已经在GitHub上接受并合并了一个拉请求,现在我不能再拉提交了。

其信息是:

代码语言:javascript
复制
! [remote rejected] master -> master (push declined due to email privacy restrictions)
error: failed to push some refs to 'git@github.com:FranckFreiburger/vue-resize-sensor.git'


git did not exit cleanly (exit code 1) (3838 ms @ 12/04/2017 21:23:11)

我现在该怎么做?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2017-05-21 16:08:26

远程存储库已配置为不允许您推送可能泄露个人电子邮件地址的提交。例如,在GitHub中,您已经将https://github.com/settings/emails复选框选中为启用这个

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

相反,请这样做:

  1. 您可以看到您的个人电子邮件地址,默认情况下该地址用于Git中的提交: git配置--全局user.email
  2. 在GitHub的个人设置→电子邮件中找到您的个人设置→电子邮件。在“保持我的电子邮件地址”私有复选框的说明中提到了这一点。通常,它以唯一标识符开头,加上用户名: {ID}+{用户名}@users.noreply.github.com

  1. 将全局用户电子邮件地址设置更改为您的GitHub无回复地址: git配置--全局user.email {ID}+{username}@users.noreply.github.com
  2. 重置上次提交的作者信息: git提交-修改-重置-作者 如果您的私人电子邮件地址有多个提交,请参见这个答案
  3. 现在,您可以使用noreply电子邮件地址推动提交,而将来的提交也将具有noreply电子邮件地址。 git推送
票数 737
EN

Stack Overflow用户

发布于 2017-04-12 19:35:30

这很可能是因为新的GitHub设置阻止了公开电子邮件地址的命令行推送。

尝试取消检查电子邮件设置中的“阻止命令行按下公开我的电子邮件”框,然后再按一次。

票数 160
EN

Stack Overflow用户

发布于 2021-03-20 08:16:34

  1. 打开Emails部分的github.com。访问https://github.com/settings/emails
  2. 转到Keep my email addresses private部分并记下您的donotreply电子邮件id。
  3. 打开git terminal并使用以下命令将您的donotreply电子邮件id设置为您的电子邮件id:
代码语言:javascript
复制
git config --global user.email "<your_donotreply_email_id"
  1. 恢复您最近的本地提交(使用您的私人电子邮件),这些提交没有被推入存储库。
代码语言:javascript
复制
git reset --soft HEAD~1 
  1. 阶段和推送那些提交
代码语言:javascript
复制
git add .
git commit –m "<commit_message>"
git push
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43378060

复制
相关文章

相似问题

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