我已经使用GitHub有一段时间了,git添加、git提交和git推送都没问题,到目前为止还没有任何问题。突然我出现了一个错误

fatal:认证失败

在终端中,我克隆了一个存储库,处理了一个文件,然后我使用git add将文件添加到提交日志中,当我做git提交时,它工作得很好。最后,git push请求用户名和密码。我输入正确,每次我这样做,它都会显示相同的错误。

这个问题的原因是什么,我该如何解决它?

.git/config的内容如下:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = http://www.github.com/######/Random-Python-Tests
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[user]
        name = #####
        email = ############

当前回答

在Android Studio Canary 3.1+版本中,如果你正在使用Android Studio Git工具,那么你可以使用以下工具:

点击Android Studio 点击Preferences… 进入版本控制→GitHub 此处将验证类型更改为密码 此步骤将要求您输入登录名和密码。登录时输入GitHub用户名,密码为GitHub密码。 单击Test按钮。

如果连接成功,那么就完成了,可以使用Android Studio GitHub GUI客户端。

其他回答

问题说明:“git fatal authentication failed”。我在用Bitbucket。

解决方案:

我只是删除了使用Bitbucket访问管理的用户,然后添加了相同的用户。.gitconfig文件很简单:

[user]
    name = BlaBla
    email = blabla@gmail.com

[push]
    default = simple

我也遇到了错误(这就是为什么我被降落在这里),但没有一个建议对我有用。这是我第一次尝试将本地Git存储库部署到Azure。

当我得到这个错误,我重置了我的凭证(通过点击链接在Azure)几次尝试后。问题是,在这一点上,它告诉我我的用户名已经被占用,所以我也把我的用户名改为另一个。

最后,我手动删除了本地驱动器上的.git文件夹,并毫无问题地重新部署了它。

如果这是有帮助的,因为这个问题现在是git的http身份验证问题的一个热门:Windows凭据管理器已经正确地存储了我的密码,并且由于我使用git LFS,我配置了一个http URL而不是通常的ssh://。

我的问题是,我的公司密码策略强制更改帐户密码,但我从未更新我存储的凭据(因为我总是使用ssh密钥)。

简单地在Wincred GUI中直接更新密码就可以了:只需查找git:https://<your-url>条目。

对我来说,我忘记了我已经在github.com上更改了密码,我的shell身份验证的钥匙链从未更新到新密码。

从我的钥匙链中删除所有Git,然后重新运行Git请求帮助解决了这个问题,再次提示我输入新密码。

给定的解决方案:使用个人访问令牌是绕过此问题的一种方法。我没有启用双重身份验证,但每当我登录到一台新PC时,我都会收到电子邮件验证码来验证PC。

解决方案: 你可以在浏览器上登录到GitHub并验证你的身份,这将让GitHub知道信任这台PC。然后,使用bash登录,这一次您的登录应该像往常一样工作,因为现在您被列入了白名单。


注意:如果你有任何现有的GitHub帐户,想要切换,那么,在凭证管理器> Windows凭证(通用凭证部分)中删除它。这样做将允许您在进行另一个git操作时登录。