我已经使用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 = ############
这个问题在GitHub引入双因素身份验证之前就已经提出了,然而,自从GitHub引入2FA以来,许多人都遇到了这个错误。
每次你尝试推送时,GitHub都会要求验证,如果你想避免重复提示,你应该使用GitHub -cli,它非常轻量级,你可以安装apt, yum, dnf和pacman。
安装github-cli后,
输入以下命令
gh auth login
选择要验证的帐户类型
选择HTTPS或SSH(根据需要)
使用web浏览器登录或根据您的轻松程度使用访问令牌进行身份验证。
访问令牌可以从GitHub > Settings > Developer-settings >生成访问令牌,复制令牌并粘贴到终端,这是一次性的代码,所以在终端上进行身份验证之前,请确保您不会丢失代码
我昨天开始在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远程操作将再次恢复正常。