Github Git推送错误“;您必须验证您的电子邮件地址。”;
当我尝试推送到GitHub时,我得到以下错误:Github Git推送错误“;您必须验证您的电子邮件地址。”;,github,Github,当我尝试推送到GitHub时,我得到以下错误: remote: You must verify your email address. remote: See https://github.com/settings/emails. fatal: unable to access 'https://github.com/user/userRep.git/': The requested URL returned error: 403 我绝对相信我的电子邮件已经过验证。 我尝试添加不带.git的远
remote: You must verify your email address.
remote: See https://github.com/settings/emails.
fatal: unable to access 'https://github.com/user/userRep.git/': The requested URL returned error: 403
我绝对相信我的电子邮件已经过验证。
我尝试添加不带.git的远程url,但没有帮助。要验证您的电子邮件,请单击“重新发送”按钮,然后登录您的电子邮件并单击从github发送给您的邮件。
太完美了 我也面临同样的错误。我怀疑这是由于git中缓存的凭据不正确(以前我使用不同的凭据提交到私有回购) 解决者
git push https://username:password@github.com/user/userRep.git
执行此命令后,
gitpush
开始工作。更改Github帐户后,我遇到了相同的问题
我发现这是因为以前使用的用户名和密码保存在git凭证存储中
Git允许本地存储凭据,因此我们不需要在每次请求访问Github Repo时重新输入用户名和密码,它将自动转到指定的文件夹(.gitconfig)以查找凭据
在macOSX上:
自制预设Git使用osxkeychain
存储凭据。
每次我们发出gitpush
命令(通过HTTPS访问Github时),git都会使用用户名
以及osxkeychain
保存以向Github Repo索取的密码
访问
这就是git推送致命邮件并不断要求验证电子邮件的原因
使用git config--show origin--get credential.helper
无法找到.gitconfig文件的位置
然后需要修改.gitconfig中的这一行:
[credential]helper=osxkeychain
helper=xxxx
决定凭证存储的方式
在我的例子中,我删除了[credential]helper=osxkeychain
并保存了文件。
所以git在推送git时会询问用户名和密码
输入新用户名和密码后,git push
将成功运行
然后我通过以下方式改变设置:
git config --global credential.helper osxkeychain
或者您可以将[credential]helper=osxkeychain
添加回.gitconfig
希望我的经验能帮助别人 我验证了我的电子邮件一次。当它说“您必须验证您的电子邮件地址”时,我会再次验证我的电子邮件并解决问题。您可以将github url设置为您的用户名和密码
git remote set-url origin https://YourName:YourPassword@github.com/YourName/YourRepo.git
在更改Github帐户后,我遇到了相同的问题。
在地球上,你需要从钥匙链中删除授权信息
在我的例子中,keychain中有许多github帐户。我在osx上遇到这个问题(我的电子邮件地址已被验证),以下命令为我解决了这个问题:
ssh-add -D && ssh-add
在我的例子中,这发生在我更改Github密码时,但在我的Mac Keychain Access程序中,存储的密码仍然是旧密码。在keychainaccess中更新密码后,gitpush命令再次工作 如果您怀疑这可能是您的情况,只需在Mac上打开Keychain Access,搜索
github
,并更新所有相关条目的密码。我尝试了所有这些,但都不起作用:
- 我的电子邮件地址已经验证过了
- 选中git config user.email以确保其正确性
- 还检查了
,一切正常git config user.email
- 尝试删除我的ssh密钥并生成一个新密钥,然后将其添加到ssh代理和github
- 选中
以确保其获得授权ssh-Tgit@github.com
- 是否要删除任何添加的密钥,请生成一个新密钥并添加到ssh代理和github
- 通过执行
检查配置文件,以确保其中没有无效用户名cat~/.ssh/config
希望它也适用于您。可能您使用的不是SSH密钥,而是用户名/密码身份验证 对于Windows: 打开控制面板->用户帐户->凭证管理器 删除GitHub条目
再试一次。将出现一个窗口,询问您的电子邮件/密码。输入正确的凭据。我刚刚检查了我的存储库,看到了来自github的消息
现在单击验证电子邮件,它将发送一封电子邮件,您已准备就绪。这对我来说很有效。在我的例子中,这是因为我使用ed25519而不是rsa生成SSH密钥。切换到rsa立即解决了这个问题。您将repo克隆为https(在github接口中默认),并尝试通过git协议推动它。
打开.git/config并将
url
从https
更改为url=git@github.com:…
在我的例子中,这是因为我最近将git auth从HTTPS更改为SSH。我试图使用SSH进行推送,但Git一直在尝试来自密钥链的凭据
根据jinny chen的解决方案,以下是我的诀窍:
。您可以使用vim~/.gitconfig
git config--show origin--get credential.helper找到配置文件
- 删除帮助器凭据以告诉git停止使用用户/传递凭据
git-push——设置上游原始主机
[credential]
helper = osxkeychain