使用 Visual Studio 2017 克隆 TFS Git 存储库时出现错误 400

Error 400 when cloning TFS Git repo using Visual Studio 2017

在 Visual Studio 2017 年,当我尝试连接到现有的本地 TFS 2015 团队项目,并尝试使用团队资源管理器克隆现有的 Git 存储库时(通过单击“克隆”按钮在连接到项目模式中突出显示回购名称后),我收到错误消息

Git 因致命错误而失败。致命:无法访问“https://servername:8080/tfs/Team 项目 Collection/ProjectName/_git/RepoName/”:请求的 URL 返回错误:400

我的输出中也出现了这个错误 window。

更新: Microsoft 似乎已在 Visual Studio 2017 的更新中修复了此问题。最有可能的是,如下评论中提到的更新 3。如果您至少没有使用 Update 3,这个答案可能仍然适用于您,因为即使是版本 15.8.5 也有人报告这个问题。


这主要是因为Visual Studio 2017 年对团队项目集合名称 中的空格处理不当。它不会对它们进行编码以使用 %20 作为空格。以下是变通的步骤。

单击“取消”按钮关闭 "Connect to a Project" window。

在 Team Explorer 中,在 Clone Repository 部分下方,请注意顶部框 URL 中的空格。单击取消 link 取消克隆。执行此操作,因为您会发现无法编辑克隆存储库输入。

然后,单击团队资源管理器 window 的 项目 部分中的克隆存储库 link。

您会注意到克隆存储库部分将重新出现,但现在将不可编辑。请注意,first/top 输入框已将 URL 中的所有空格替换为 %20。确保您的第二个框是准确的,它映射了将源下载到的本地路径。单击克隆按钮,它应该可以工作。

我现在再次遇到这个问题,修复发布一年后,在 VS 15.6.6 中。企业。当尝试连接到名称中带有 space 的项目时,VS 不断弄乱 URL,因此找不到该项目。

Steve Kennedy 的解决方案不再可行 - MS 实际上修复了 \O/。

最后我从同事那里复制了完整的工作项目,这样我就可以得到正确的配置URL。一切正常。

请注意,也有此解决方案。

我可以确认它在 15.8.1 版本中仍然(或再次)损坏。

但我找到了另一个解决方法

  • 使用浏览器导航到 vsts 中的 'Code' 存储库
  • 单击 'Clone' 按钮(图标)
  • select IDE 'Clone in Visual Studio'
  • 允许 link 打开 VS 2017,它将传递正确的 url 编码位置

我通过删除 Windows“凭据管理器”中 Panel\User Accounts\Credential 管理器的 git 的令牌凭据解决了这个问题。下次我尝试连接时,我被要求提供 visualstudio.com 凭据并且克隆成功。

https://social.msdn.microsoft.com/Forums/vstudio/en-US/b8bc2526-a7ba-470c-9b4f-1d98c3e98ee9/tf401019-the-git-repository-with-name-or-does-not-exist