我对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'
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了错误信息,没有点击.我也搜索过stackexchange,但没有雪茄.关于如何解决这个问题的任何想法?
Win*_*ied 153
当启用"阻止命令行推送暴露我的电子邮件"功能时,您还需要配置Git以使用您的无回复电子邮件地址.别担心 - 这不会影响您的贡献图.所有提交仍将与您的帐户相关联.
开放式终端.
将当前工作目录更改为您要在其中配置与Git提交关联的电子邮件地址的本地存储库.
在GitHub的个人设置→电子邮件中找到您的GitHub noreply地址.在" 保持我的电子邮件地址专用"复选框的说明中提到了它.通常,它以唯一标识符和用户名开头.
在Git中设置一个电子邮件地址.使用您的GitHub提供的无回复电子邮件地址.
为计算机上的每个存储库设置电子邮件地址
git config --global user.email "{ID}+{username}@users.noreply.github.com"`
Run Code Online (Sandbox Code Playgroud)设置单个存储库的电子邮件地址
git config user.email "{ID}+{username}@users.noreply.github.com"
Run Code Online (Sandbox Code Playgroud)重置上次提交时的作者信息:
git commit --amend --reset-author
Run Code Online (Sandbox Code Playgroud)
如果您的私人电子邮件地址有多个提交,请参阅此答案.
现在,您可以使用noreply电子邮件地址推送提交,并且将来的提交也将具有noreply电子邮件地址.
git push
Run Code Online (Sandbox Code Playgroud)配置Git后,提交将使用您的备用"noreply"电子邮件地址,任何不会被拒绝的推送.
小智 55
我也经历过相同的error: GH007消息,并使用以下方法解决问题.
这可能会暴露您的电子邮件地址.
打开 github.com 的电子邮件部分。访问https://github.com/settings/emails。
转到Keep my email addresses private部分并记下您的donotreply电子邮件 ID。
打开 git 终端并donotreply使用以下命令将您的电子邮件 ID设置为您的电子邮件 ID:
git config --global user.email "<your_donotreply_email_id"
Run Code Online (Sandbox Code Playgroud)
git reset --soft HEAD~1
Run Code Online (Sandbox Code Playgroud)
git add .
git commit –m "<commit_message>"
git push
Run Code Online (Sandbox Code Playgroud)
有一个解决方案,无需公开您的电子邮件。发生该错误是因为您在 中配置了自己的电子邮件地址git config --(global|system|local) user.email。
如果同一电子邮件是您的 Github 电子邮件,并且您选择了将电子邮件设为私有的选项,则 git 会标记此错误。
有用的是,Github 为您提供了一个无回复电子邮件地址,您可以使用它来执行命令行操作。只需检查您的Github 个人资料上的电子邮件设置即可。
您可以简单地删除或撤消使用 user.name 完成的提交,然后在再次提交更改之前,设置另一个电子邮件地址
git config --(global|system|local) user.email "<no-reply-email-here>"。
现在,当您尝试将更改推送到远程存储库时,错误应该消失了。