Git推送导致“身份验证失败”

我一直在使用Github一段时间,并且我一直没有问题使用git addgit commitgit push 。 突然间我有一个错误,说:

致命:身份验证失败

在终端中,我克隆了一个存储库,处理一个文件,然后使用git add add将该文件git add到提交日志中,当我做了git commit ,它工作正常。 最后, 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帐户中启用了双因素身份验证,则无法使用帐户密码通过HTTPS进行推送。 相反,您需要生成个人访问令牌。 这可以在您的Github帐户的应用程序设置中完成。 使用此令牌作为您的密码应允许您通过HTTPS推送到远程存储库。 照常使用你的用户名。

https://help.github.com/articles/https-cloning-errors#provide-access-token-if-2fa-enabled

如果设置为https,您可能还需要更新存储库的来源:

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

首先,您可以确保使用正确的网址:

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

然后,如果它之前正在运行,并且它没有要求输入用户名,则必须是因为您已将您的凭据(登录名/密码)存储在$HOME/.netrc文件中,如此处所述。 您可以仔细检查这些设置,并确保您的代理(如果有的话)没有更改。

如果仍然不起作用,您可以切换到ssh url:

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

但这意味着你已经在你的账户设置中发布了你的SSH公钥。


这为我工作,它也记得我的凭据:

  • 运行gitbash

  • 指向repo目录

  • 运行git config --global credential.helper wincred

  • 链接地址: http://www.djcxy.com/p/22067.html

    上一篇: Git push results in "Authentication Failed"

    下一篇: Why do GitHub HTTPS schemes always ask for my password?