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

404*_*404 10 git visual-studio azure-devops visual-studio-2019

截至今天,我在 Azure-DevOps 中尝试对我的存储库使用 git 命令时遇到错误。这些存储库位于 DevOps 上的一个项目中,我可以使用同一个帐户访问它,并且没有显示任何最近对其进行任何更改的迹象。我可以采取的重现它的步骤是:

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

错误:

fatal: Authentication failed for `<link to repository>`
Run Code Online (Sandbox Code Playgroud)

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

  • 重启电脑
  • 注销和登录 Visual Studio
  • 删除.IdentityService文件夹
  • 拆卸和安装 GIT
  • 拆卸和安装GIT For WindowsVisual Studio Installer
  • 删除缓存文件夹 %LOCALAPPDATA%\Microsoft\Team Foundation\7.0\Cache
  • 删除缓存文件夹 %LOCALAPPDATA%\Microsoft\Team Foundation\8.0\Cache
  • 卸下GITVS从键Credential Manager
  • 在网上找到的很多其他“修复”内容都没有解决我的问题

目前正在运行:

  • GIT 2.21.0-64 位
  • 视觉工作室 2019

编辑:

我尝试Visual Studio CodeAzure Repos 1.149.2扩展一起使用并得到相同的错误。它让我在 Microsoft 页面上输入它授予的设备登录代码,但使用git命令会给我相同的错误消息。

我还从 Azure DevOps 环境中删除了我的配置文件并重新添加,但没有成功。

jes*_*ing 10

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

[credential]
    helper = 
Run Code Online (Sandbox Code Playgroud)

这有效地关闭了任何凭证管理器。在 Azure DevOps 中,您可以配置一组 Git 凭据或个人访问令牌,并使用它们直接连接。

它不能解释您遇到的问题。鉴于您的帐户似乎是机器绑定和 AAD 帐户,很多事情都可以发挥作用。这包括 AAD Home-Realm Discovery 和 Single Sign-on 以及 Azure Active Directory 来宾帐户。

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

根据您提供的信息,我们几乎不可能在不回头看的情况下帮助您解决问题。如果您有可用的 Azure 支持请求,我几乎建议您提交 Azure 支持请求,以便工程师可以与您一起查看。

可选运行

git-credential-manager.exe erase
Run Code Online (Sandbox Code Playgroud)

并传入以下数据

protocol=https
host=dev.azure.com
path=/jessehouwing/vsts-extensions/_git/vsts-github-tasks
{newline}
Run Code Online (Sandbox Code Playgroud)

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


Von*_*onC 8

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

如果您看到“管理器”,请打开 Windows Credentials Manager,并将 PAT(创建的个人访问令牌)作为密码输入(同时保持您的常规登录,与远程 URL 相关联)

然后再试一次,看看问题是否仍然存在。


404*_*404 2

在我的特殊情况下,在与 Microsoft 来回发送许多邮件后,结果发现我的两个帐户以某种方式开始相互冲突,从而导致奇怪的错误。一个很好的例子是,在 DevOps 中对 wiki 进行更改会在提交试验中显示与我登录的帐户不同的帐户。

最终微软设法解决了这个问题,从那以后我再也没有遇到过任何问题。