【问题标题】:git warning - not allowing to pushgit 警告 - 不允许推送
【发布时间】:2021-09-08 05:05:04
【问题描述】:

Git 无法推送一个文件的更改。在命令提示符下远程工作时,我执行了以下操作(步骤略):

  • 克隆我们团队的主存储库
  • git checkout chuck(这是我现有的分支)
  • 开始编辑文件
  • git add file_name(也许我不需要这个,因为它已经存在)
  • git commit -m "一些评论"

但现在当我想推动改变时,我得到了

remote: error: GH007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: http://github.com/settings/emails
To https://github.com/my_company/our_repo/
 ! [remote rejected] chuck -> chuck (push declined due to email privacy restrictions)

我查看了网络 Github 电子邮件设置。它们被设置为私有,这就是它发生的原因。但我不清楚如何克服它。

【问题讨论】:

    标签: git github push


    【解决方案1】:

    如果您查看Github emails 链接,您会发现它提供了一个电子邮件地址,例如:ID+username@users.noreply.github.com 或username@users.noreply.github.com,基于您创建帐户的时间。因此,使用该电子邮件进行应该解决问题的提交。

    来自 Github:

    如果您在 2017 年 7 月 18 日之后创建了 GitHub 帐户,那么您的 GitHub 提供的无回复电子邮件地址是一个七位数的 ID 号和您的用户名,格式为 ID+username@users.noreply.github.com。如果您在 2017 年 7 月 18 日之前创建了 GitHub 帐户,那么您的 GitHub 提供的无回复电子邮件地址就是您的用户名,格式为 username@users.noreply.github.com。您可以通过在您的电子邮件设置中选择(或取消选择并重新选择)将我的电子邮件地址保密来获取基于 ID 的 GitHub 提供的无回复电子邮件地址。

    要使用提交集上的电子邮件地址来 git config 使用:

    全局设置:

    git config --global user.email "ID+username@users.noreply.github.com"
    

    或者对于单个回购:

    git config user.email "ID+username@users.noreply.github.com"
    

    【讨论】:

    • 我这样做了,但它不允许推送。在电子邮件设置中,我不得不取消选中“阻止暴露我的电子邮件的命令行推送”
    • 取消选中后,我可以推送。谢谢。
    • 您能否检查一下您的git log 并查看它使用哪个电子邮件地址作为“阻止暴露我的电子邮件的命令行推送”设置仅适用于个人电子邮件。更多细节在这里:docs.github.com/en/github/…
    • 来自“git log”,第一个条目是我的公司电子邮件(我想保密的那个)。
    • 这意味着您的配置设置不起作用或者您创建了提交并更改了配置。当您取消选中该复选框时,它现在会在提交中公开您的公司电子邮件。
    【解决方案2】:

    我不得不取消选中“阻止暴露我的电子邮件的命令行推送”

    【讨论】:

      猜你喜欢
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多