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

当前回答

如果您在Windows上,并试图推送到具有域用户作为存储库用户(TFS)的Windows服务器,请尝试使用Internet Explorer进入TFS URL(即http:\\ TFS)。输入域帐户凭据并显示页面。

注意:只能使用ie浏览器!其他浏览器不会更改您的系统凭据。

现在转到Git Bash,更改存储库的远程用户,如下所示:

git config user.name "domainName\userName"

和完成。现在你可以推了!

其他回答

如果您更改了git服务帐户(git)的登录名或密码,就会发生这种情况。你也需要在Windows凭证管理器中更改它。在Windows搜索菜单中输入“凭据管理器”打开它。

Windows凭证管理器->Windows凭证和在通用凭证下编辑您的git密码。

在你尝试以上一切之前,尝试git再推一次,是的,它对我有用。

首先,你可以确保使用正确的URL:

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

然后,如果它之前工作,如果它没有要求您的用户名,这一定是因为您已经将您的凭据(登录名/密码)存储在$HOME/.netrc文件中,正如这里所解释的那样。您可以再次检查这些设置,并确保您的代理(如果有的话)没有更改。

检查git配置——global credential.helper的输出。 并确保凭证是你的GitHub用户帐户,和一个PAT(个人访问令牌)。

您可以使用Git凭据助手更新您的凭据,如下所示。


如果这仍然不工作,你可以切换到SSH URL:

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

但这意味着您已经在帐户设置中发布了SSH公钥。


有关Visual Studio Code的具体信息,请参见“git push:缺少或无效凭证”。致命:'https://github.com/username/repo.git'认证失败"

您可以取消选择设置git。terminalAuthentication以避免错误消息。

我在Windows上也遇到了同样的问题。大多数时候,由于使用多个Git帐户,我通常会遇到这个问题。如果您使用的是Windows操作系统,请以管理员身份打开终端并尝试再次运行这些命令。请确保您具有管理员权限。

基本上我的证书过期了,我面临着这个问题。

下面两个命令帮助了我:

git config --global --unset credential.helper

git config credential.helper store

当你下次尝试推送时,它会要求你提供凭证。

有关用户名和密码的安全和不安全存储的详细信息,请遵循以下指南:

git-credential-store git-credential-cache