GIT致命错误:Visual Studio中的身份验证失败

时间:2019-04-30 08:39:56

标签: git visual-studio azure-devops visual-studio-2019

从今天开始,在Azure-DevOps的存储库中尝试使用git命令时出现错误。这些存储库位于DevOps上的一个项目中,我可以使用同一帐户访问该项目,并且没有任何迹象表明最近对其进行了更改。我可以采取的步骤来复制它:

  1. 打开命令提示符,然后输入git fetch
  2. 出现一个窗口,提示您登录 Login
  3. 我点击了帐户
  4. 未提示输入密码,但收到一封电子邮件,说明已创建了PAT
  5. 命令提示符产生错误

错误:

fatal: Authentication failed for `<link to repository>`

到目前为止我已经尝试过的事情:

  • 重新启动PC
  • 退出并登录Visual Studio
  • 删除.IdentityService文件夹
  • 卸下和安装GIT
  • GIT For Windows中卸下和安装Visual Studio Installer
  • 删除缓存文件夹%LOCALAPPDATA%\Microsoft\Team Foundation\7.0\Cache
  • 删除缓存文件夹%LOCALAPPDATA%\Microsoft\Team Foundation\8.0\Cache
  • GIT移除VSCredential Manager
  • 在网上发现了很多其他“解决方法”,但都没有解决我的问题

当前正在运行:

  • GIT 2.21.0-64位
  • Visual Studio 2019

编辑:

我尝试将Visual Studio Code与扩展名Azure Repos 1.149.2一起使用,并得到相同的错误。它使我产生一个Microsoft页面,该页面用于输入我授予的设备登录代码,但是使用git命令会给我同样的错误消息。

我还从Azure DevOps环境中删除了个人资料,并重新添加了个人资料,但没有成功。

6 个答案:

答案 0 :(得分:3)

尝试检查git config credential.helper的值。

如果看到“ manager” open the Windows Credentials Manager,并输入PAT(创建的个人访问令牌)作为密码(在保持常规登录名的同时,将其与远程URL关联)

然后重试,看看问题是否仍然存在。

答案 1 :(得分:2)

要强制Git凭证管理器停止干扰,可以将以下内容添加到全局git配置中:

[credential]
    helper = 

这实际上会关闭所有凭据管理器。然后,您可以在Azure DevOps中配置一组Git凭据或个人访问令牌,并使用其直接连接。

它不能解释您遇到的问题。鉴于您的帐户似乎是机器绑定帐户,而AAD帐户似乎可以发挥作用。其中包括AAD Home-Realm Discovery和单一登录以及Azure Active Directory Guest帐户。

另一个可能的问题是Windows凭据存储,该存储具有多个存储Azure DevOps和Git凭据的位置。最后,用于登录Visual Studio 2019以检索其许可证的帐户可能正在播放。

有了您提供的信息,我们几乎可以帮助您解决问题而又不费吹灰之力。如果您有空的话,我几乎建议您提出Azure支持请求,以便工程师与您一起查看。

可选运行

git-credential-manager.exe erase

并传递以下数据

protocol=https
host=dev.azure.com
path=/jessehouwing/vsts-extensions/_git/vsts-github-tasks
{newline}

告诉git删除为您的帐户存储的凭据

答案 2 :(得分:2)

在我的特定情况下,在与Microsoft多次来回邮件之后,事实证明我的两个帐户以某种方式开始彼此冲突,从而导致奇怪的错误。一个很好的例子是,在DevOps中对Wiki进行更改将在提交试用中显示与我登录的帐户不同的帐户。

最终,微软设法对其进行了修复,此后我再没有任何问题。

答案 3 :(得分:1)

我在VS2019中有一个类似的问题,我移动了笔记本电脑,尽管我使用凭据管理器删除和更改了凭据,但它拒绝进行身份验证。我已链接到Assembla中的存储库,并且在存储库设置下的团队资源管理器窗口中,我注意到有一个复选框可以覆盖全局用户名和电子邮件设置,这与我的Assembla登录名不同。

答案 4 :(得分:0)

我遇到了同样的情况-一切都在VS 2017中有效,但2019无法正常工作。我发现this article,建议我更新Git Credential Manager for Windows。我的安装版本(在C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe上已使用3年。下载,安装,问题对我来说消失了。

答案 5 :(得分:0)

同样的错误(Windows、Git Bash 命令行、Visual Studio、bitbucket)。使用 https(不是 ssh),它应该提示输入登录凭据,而是出现错误(可能是因为我的 bitbucket 凭据已更改):

$ git pull origin master
fatal: Authentication failed for 'https://bitbucket.../my_git_project.git'
$ git config -l
...
credential.helper=manager
...

$ git config --global --unset credential.helper
$ git config --system --unset credential.helper

git pull 现在提示输入用户名/密码提示。