git - GitHub 消息 : push declined due to email privacy restrictions 的含义

标签 git github git-push privacy-policy

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

消息是:

! [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)

我现在该怎么办?

最佳答案

远程存储库已配置为不允许您推送会泄露您的个人电子邮件地址的提交。例如在 GitHub 中你检查了 Block command line pushes that expose my email复选框 enable this .

Block command line pushes that expose my email

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

相反,这样做:

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

    git config --global user.email
    
  2. 找到您的 GitHub noreply address在你的 GitHub 的 Personal Settings → Emails . 将我的电子邮件地址保密复选框的描述中提到了它。通常,它以唯一标识符以及您的用户名开头:

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

    Keep my email address private

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

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

    git commit --amend --reset-author
    

    如果您使用私有(private)电子邮件地址进行多次提交,请参阅 this answer .

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

    git push
    

关于git - GitHub 消息 : push declined due to email privacy restrictions 的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43378060/

相关文章:

git - 对 public_html 目录使用主分支克隆

c# - GitHub 提交错误 : Permission denied fatal: Unable to process path ~/App_Data/aspnet-MyProject. mdf

GitHub 组织 repo + Jenkins(GitHub 插件)集成

git - 为什么 git push 失败并显示 "Operation timed out"?

git - 无法在 Cygwin : error while loading shared libraries 上执行 git push/pull

git - Git 如何确定需要在存储库之间发送哪些对象?

bash - 如何在 Git Bash 中通过管道传输 git log 的输出?

git - 如何恢复 Windows shell 中指示 git status 的图标?

带有中央存储库的 Git

git - 从私有(private) GitHub repo 转移到公共(public)和私有(private)