Git Credential Manager不断为Azure Devops生成PAT

Git Credential Manager不断为Azure Devops生成PAT,git,azure,azure-devops,devops,Git,Azure,Azure Devops,Devops,无论何时拉入或推入,都会要求我从组织中选择一个帐户,其中只有一个帐户选项(另一个选项是“登录到其他帐户”)选择此帐户后,我也不会被要求重新输入密码。然后,我收到一条通知,告诉我git credential manager已在Azure DevOps上为我的组织生成了个人访问令牌。它现在已生成了大约90个令牌,并且没有一个已过期。我已将所有内容更新为最新版本,请重新验证一切都失败了,还是没有运气 最近几周才开始出现这种情况。有人知道下一步该怎么做吗?最可能的问题是您有一个旧版本的Git Crede

无论何时拉入或推入,都会要求我从组织中选择一个帐户,其中只有一个帐户选项(另一个选项是“登录到其他帐户”)选择此帐户后,我也不会被要求重新输入密码。然后,我收到一条通知,告诉我git credential manager已在Azure DevOps上为我的组织生成了个人访问令牌。它现在已生成了大约90个令牌,并且没有一个已过期。我已将所有内容更新为最新版本,请重新验证一切都失败了,还是没有运气

最近几周才开始出现这种情况。有人知道下一步该怎么做吗?

最可能的问题是您有一个旧版本的Git Credential Manager

Azure DevOps最近更改了其URL方案(来自Visual Studio团队服务方案).Git Credential Manager需要知道您连接的主机提供商的类型,因为GitHub的协商不同于Bitbucket的协商不同于Azure Repos的协商。它通过查看URL信息来实现这一点;此新的URL方案仅在较新的Git Credential Manager版本中受支持ns.此支持已添加到GCM 1.18中

确保您在命令行上运行的是最新版本的。您应该能够正确地
git fetch
git push

同样,Visual Studio 2017.VS 2017最新版本的更新包括其自己版本的Git for Windows和Git Credential Manager

还有一些其他可能的问题:

Git Credential Manager将这些存储在错误用户的凭据存储中。例如,如果您正在运行提升的进程,则可能会发生这种情况。(请不要将Git作为提升的进程运行。)


如果这两个都不是问题,那么GCM中可能有一个我们需要追踪的bug。

您的凭据管理器中的URL是什么样子的?您正在克隆的URL是什么样子的?最后,当您通过web访问Azure DevOps时,URL是什么样子的?我想知道在
account.visualstudio.com
之后de>dev.azure.com/account如果您正在存储一个URL方案的凭据,但正在克隆另一个URL方案(因此,如果Git正在寻找错误URL的凭据,但没有找到它们)@EdwardThomson我所有的URL都是dev.azure.com的。在DevOps从VST切换到DevOps之前,我没有在DevOps上托管任何项目。很有趣。与一些工程师交谈,似乎有一些可能导致这种情况的原因。为了避免在这个小聊天框中来回太多,我将发布一个答案,我们可以这样做继续运行以收集所有可能性和解决方案。我正在运行git
version 2.20.1
。git credential manager
version 1.18.4
。我没有使用git命令行,而是通过visual studio团队资源管理器使用它。visual studio作为管理员和单独的用户帐户运行(这对于项目所需的访问是必需的)它可能是立面,但您使用的是什么版本的VS?它包含自己的GCM。(您可以通过运行C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd\Git来找到该版本。)“credential manager版本,假设您运行的是VS 2017 Enterprise)。该文件的版本为2.14.4Thanks-看起来即使是最新版本的VS 2017也没有最新的GCM。我已更新了答案,以包括手动指定应能正常工作的版本的方法。