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

当前回答

这是我的解决方案,我认为它适用于Azure, Github或Git。如果您的身份验证失败可能是由于4个可能的原因—您启用了2FA,您更改了密码,您更改了用户名或回购密码是动态的)—

无论发生了什么,你都应该遵循以下四个步骤:

去任何你的回购位于点击“克隆”按钮。 应该有一个HTTPS的方式,下面点击“生成git凭证”按钮。这必须给你一个新密码。(Azure回购图)

在cmd中进入你的repo并输入: git push -u origin your-Branch-Name (如果需要)如果没有定义源url路由,只需输入下面的命令,然后再次执行步骤3: Git远程添加origin https://my-git-url git push命令后,它将询问您的凭据。使用已经在回购中生成的凭证。

其他回答

在Windows系统上,这个功能对我很有效,它还能记住我的证书:

运行Git Bash 指向存储库目录 执行git config——global credential命令。辅助wincred

我刚刚为我的Github帐户启用了双因素身份验证,所以我禁用了双因素身份验证,我可以用我的UID和PWD登录

这个问题在GitHub引入双因素身份验证之前就已经提出了,然而,自从GitHub引入2FA以来,许多人都遇到了这个错误。

每次你尝试推送时,GitHub都会要求验证,如果你想避免重复提示,你应该使用GitHub -cli,它非常轻量级,你可以安装apt, yum, dnf和pacman。

安装github-cli后,

输入以下命令

gh auth login

选择要验证的帐户类型 选择HTTPS或SSH(根据需要) 使用web浏览器登录或根据您的轻松程度使用访问令牌进行身份验证。

访问令牌可以从GitHub > Settings > Developer-settings >生成访问令牌,复制令牌并粘贴到终端,这是一次性的代码,所以在终端上进行身份验证之前,请确保您不会丢失代码

我遇到过

git fetch

fatal: Authentication failed for 'http://...."

在我的Windows密码过期并被更改之后。使用Windows凭据管理器多次获取、重新启动甚至重新安装Git都没有帮助。

令人惊讶的是,正确答案在评论中,而不是在答案中(其中一些真的很奇怪!)

你需要进入控制面板→凭据管理器→Windows凭据并更新git的密码:http://your_repository_address

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

解决方案:

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

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

[push]
    default = simple