我已经使用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 = ############

当前回答

如果您使用的是SSH,并克隆了HTTPS,这将不起作用。

用SSH进行克隆,然后按预期进行推拉!

其他回答

在我的情况下,我最近更改了我的windows密码,我有SSH密钥配置git相关的动作(拉,推,获取等),在我遇到“致命:认证失败”错误后,我更新了我的密码在windows凭据管理器(控制面板\用户帐户\凭据管理器)的所有项目以git开始:…他又试了一次,这次成功了!

通过这种方式,我在GIT GUI和GIT bash中解决了访问被拒绝的问题。

这个SSH密钥复制粘贴到GitHub访问令牌中。

对我来说一切都很好,我也尝试了Windows凭据管理器,但问题也没有解决。 然后突然,我从防火墙弹出,这是幕后的罪魁祸首。在我手动点击允许后,我可以获取或推送到GitHub。

确保您有推送的写权限。

read ***write*** admin 

我尝试了令牌验证方法,让它工作~3次,浪费了大约2个小时的时间。出于某种原因,它在我们公司不太适用。

我的解决方案是将身份验证方法从HTTPS改为SSH。这是一个Github指南(https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)。

创建SSH密钥后,请记住更改SSH地址来源:

git remote add origin git@github.com:user/repo.git

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

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