当我尝试使用 GitHub Desktop 推送我的提交时,它显示此错误"无法推送这些提交,因为它们包含 GitHub 上标记为私有的电子邮件地址">
请帮助我如何解决此错误
其他答案对于将来的提交很好,但对于包含公共电子邮件地址的先前提交没有帮助。 如果您想保持电子邮件的私密性,则应修改先前的提交,而不是更改设置。 使用 git cmd,例如:
git commit --amend --author="ericraider33 <9611418+ericraider33@users.noreply.github.com>"
并填写 GitHub 提供给每个用户的自动生成的电子邮件地址。
转到设置 -> 电子邮件并禁用"保持我的电子邮件地址私密"。
如果您仍然不想公开您的电子邮件地址:
-
转到 https://github.com/settings/emails 并保存您的"无回复地址"。
-
将您的 git 电子邮件地址设置为此 noreply 地址,可以使用命令
git config --global user.email "XXXXXXXX+username@users.noreply.github.com"
或在 GitHub Desktop 的首选项中。 -
将要推送的更改保存在某个位置。
-
还原上次提交中的更改,因为它们是使用以前配置的电子邮件地址签名的。
-
还原已保存的更改。
-
犯。
-
推。
我也遇到了这个问题。在 Github Desktop 中,只需转到"文件"-">"选项"->">Git并清除"用户名"和">电子邮件">字段并保存即可轻松修复。然后,如果您登录到GitHub,它将用正确的信息填写它们。
您可能正在推送使用您的电子邮件地址和 Github 上的设置签名的提交。您可以通过转到 GitHub(浏览器(单击右上角的用户图标 -> 设置 -> 电子邮件并取消选中"阻止暴露我的电子邮件的命令行推送"框来更改此行为,使您的电子邮件不是私有的(就在该选项上方(,或使用公共电子邮件签署您的提交。
如果您使用的是GitHub Desktop,则可以还原提交(转到"历史记录"选项卡并右键单击提交以还原(。然后,将您的电子邮件更改为您的私人电子邮件,然后再次提交。然后你可以推动。
@raider33解决方案有效,但如果您需要对所有以前的提交执行此操作,那么GitHub的"修改较旧或多次提交消息"部分中对其进行了描述