GitHub认证通过https失败,返回错误的电子邮件地址

使用GitHub从命令行(通过https,而不是ssh)启动推送或任何其他操作,而不是仅仅调用用户名和密码,但是,当它返回时,它会返回

Username for 'https://github.com': username
Password for 'https://username@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/username/repository.git/'

我没有@github.com地址。 密码和用户名是正确的。

我知道我可以切换到SSH并使用密钥,但这并不能解释为什么身份验证通过https失败。


GitHub的支持立即确定了问题的根源:双因素授权。

要通过https在shell上使用GitHub,请创建一个OAuth令牌。 正如页面所示,我确实必须从Keychain中删除我的用户名和密码凭证,但使用osx-keychain时,令牌将作为密码存储,并且事情的工作方式与在不使用双因素授权的情况下通过https完全相同。


我没有@github.com地址

您不必: @是用户名:密码和域之间的分隔符。
这不是电子邮件地址。

完整的GitHub https网址是:

https://username:password@github.com/username/reponame.git

如果没有密码(然后会在命令行中提问),那会给出:

https://username@github.com/username/reponame.git

但是, username@github.com不是电子邮件地址,只是凭证的第一部分。

确保您的usernamereponame正确:区分大小写。

请注意,如果您不想在URL中清除所述凭据,则可以在.netrc.gpg (或Windows上的_netrc.gpg )中存储和加密凭证。
请参阅“使用https://github时是否有跳过密码输入的方​​法”。


[仅限Mac]

如果您需要删除您的身份验证,请使用

git credential-osxkeychain erase
host=github.com
protocol=https

在Mac上。

请参阅https://help.github.com/articles/updating-credentials-from-the-osx-keychain/

链接地址: http://www.djcxy.com/p/16415.html

上一篇: GitHub authentication failing over https, returning wrong email address

下一篇: In XCode 4 how do I add a remote GitHub repository to an existing local project?