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

当前回答

我也有同样的问题。我这样设置URL:

git remote set-url origin https://github.com/zkirkland/Random-Python-Tests.git

我还从配置文件中删除了这个条目:askpass = /bin/echo。

然后“git push”问我的用户名和密码,这一次它成功了。

其他回答

我也有同样的问题。重新启动我的系统后,它工作了。

我昨天开始在Ubuntu 20.04的Visual Studio Code中遇到这个问题。

我没有对我的GitHub凭证进行任何更改,也没有在项目中更改任何内容,但我运行任何git命令来与我的远程分支进行通信,例如:

git pull origin dev

我得到的错误如下:

remote:未找到存储库。 致命:“https://github.com/MyUsername/my-project.git/”认证失败

以下是对我有效的方法:

我尝试重新克隆项目,然后运行git pull命令,但它不起作用。

git clone https://my-git-url

我尝试使用以下命令再次设置我的凭据,但仍然没有运气:

git config --global user.email "email@example.com"
git config --global user.name "John King"

我尝试删除远程存储库,并使用以下命令重新添加它,但仍然没有运气:

git remote remove origin
git remote add origin https://my-git-url

最后,我决定尝试使用我默认的Ubuntu终端,它工作得很好。我最大的猜测是,这是Visual Studio Code在几个小时前的最后一次更新中的一个错误(请参阅截图,它显示发布是在我遇到这个问题的同一天完成的)。我的意思是我使用snap设置Visual Studio Code,所以它可能已经在后台更新了几个小时。

希望他们能解决这个问题,git远程操作将再次恢复正常。

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

解决方案:

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

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

[push]
    default = simple

我尝试了令牌验证方法,让它工作~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

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

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

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