0

尝试从 Visual Studio 2019 中的 Azure Devops 克隆存储库时出现此错误:

TF401019: The Git repository with name or identifier X does not exist or you do not have permissions for the operation you are attempting.
Error encountered while cloning the remote repository: Git failed with a fatal error.

我正在使用两个帐户:

  • user@domain.com
  • 用户@seconddomain.com

user@domain.com 是我在 Visual Studio 中的主要帐户,它可以访问我的仓库,但没有权限。user@seconddomain.com 是 Visual Studio 中的另一个帐户设置,它可以完全访问我的存储库。

当我尝试克隆存储库时,出现上述错误。在 Azure Devops 中,我注意到个人访问令牌是在我的第一个帐户中创建的,而不是在我的第二个帐户中,所以我假设它正在尝试连接错误的帐户。即使我从 Windows 凭据管理器中删除凭据并从 IE 和 Edge 清除缓存,我也从未被要求从 Visual Studio 提供凭据。

有没有办法指定在 Visual Studio 2019 中克隆 Azure Devops 存储库的帐户?

- - 更新

克隆时,我使用 Visual Studio 中的帐户 #2 登录并在 dev.azure.com 下列出存储库

在此处输入图像描述

但我得到这个错误:

Remote: TF401019: The Git repository with name or identifier X does not exist or you do not have permissions for the operation you are attempting.
Error encountered while cloning the remote repository: Git failed with a fatal error.
repository 'https://dev.azure.com/X' not found

然后,在 Azure Devops 中,使用帐户 #1 创建 PAT 在此处输入图像描述

PAT 存储在 Windows 凭据管理器中(我每次尝试都会删除它) 在此处输入图像描述

4

2 回答 2

1

有没有办法指定在 Visual Studio 2019 中克隆 Azure Devops 存储库的帐户?

任何不便敬请谅解。

此行为是设计使然。我们无法指定另一个帐户来克隆 Visual Studio 中的 Azure Devops 存储库。

当我们从 Visual Studio 连接 repo 时,它会提示输入登录帐户,而不是输入身份验证信息:

在此处输入图像描述

如果我们想指定另一个帐户来克隆 repo,我们需要在 Visual Studio 中再保留两个凭据。当我们在同步 VS 和 Azure devops 的过程中,VS 无法智能选择使用哪个证书进行身份验证,否则每次同步代码时都必须手动选择证书

另一方面,我们不能在登录帐户中指定另一个帐户,这可能涉及溢出问题(低权限帐户使用高权限帐户)。

这就是为什么 Visual Studio 允许我们使用登录帐户作为身份验证的原因。

如果您想使用另一个帐户从 repo 克隆代码,您可以尝试使用命令行和PAT,例如:

git clone https://<PAT>@dev.azure.com/<OrganizationName>/YourProject/_git/..

不需要用户名或密码,因为 PAT 就足够了。

希望这可以帮助。

于 2020-05-05T02:20:15.810 回答
0

我假设Windows?
VS 可能会退回到错误的身份,我认为没有办法强制 VS 使用某个帐户而不是另一个帐户。我建议你从命令行克隆。VS 有自己的 Git 客户端,因此它可以处理 git 凭据管理器之外的身份,如果在 Windows 凭据管理器中找不到凭据,它将要求提供凭据。

MS支持会提出以下建议,但不确定它是否会起作用:

尝试退出并忘记您的帐户。删除缓存。VS Identities 缓存在 Windows 的以下路径中。

C:\Users\{user}\AppData\Local\.IdentityService
C:\Users\{user}\AppData\Local\Microsoft\Team Foundation\{each version}\Cache
C:\Users\{user}\AppData\Local\Microsoft\Team Foundation\{each version}\Cache
C:\Users\{user}\AppData\Local\Microsoft\VisualStudio Services\{each version}\Cache
C:\Users\{user}\AppData\Local\GitCredentialManager\tenant.cache

还要清理以 . 开头的 Windows 凭据管理器条目git:*

执行完这些步骤后,如果您从命令行克隆,我希望 git 会询问凭据。

于 2020-05-04T16:05:31.603 回答