如何从命令行正确克隆visualstudio.com TFS Git存储库?

时间:2014-11-25 21:45:05

标签: git visual-studio tfs

我正在尝试使用命令行git来克隆位于visualstudio.com的基于TFS的Git存储库。回购的实际地址是

https://kalamon.visualstudio.com/DefaultCollection/_git/gitp

我在个人资料中启用了“备用凭据”,我还设置了一个不包含@的用户名别名(因为这会弄乱git clone)。然而,所有克隆回购,或拉动它或其他任何东西的尝试都会导致此错误:

Cloning into 'gitp'...
fatal: https://kalamon.visualstudio.com/DefaultCollection/_git/gitp/info/refs not valid: is this a git repository?

我在同一帐户上使用不同的Git存储库尝试了相同的结果。

我尝试了各种各样的事情 - 例如在<username>:<password>@之后放置https://或使用_netrc,但没有任何效果。无论我尝试什么,都会发生同样的错误。我没有在命令行上提示输入凭据。

当我使用curl获取https://kalamon.visualstudio.com/DefaultCollection/_git/gitp/info/refs并提供基本身份验证时,我会毫无问题地获取这些身份验证。

从VS2013 UI进行克隆工作正常。但是,我真的需要能够从命令行执行此操作,因为我需要从脚本环境中进行克隆工作。

有人有任何想法可能出错吗?

更新

我做了一些挖掘,事实证明只有我的帐户受到影响。当我在visualstudio.com上尝试使用其他帐户时,一切正常。

我也进行了一些跟踪,事实证明,在我的帐户中,来自Git服务器的响应有点奇怪(我会说不正确) - 而不是响应401错误代码(“未经验证”),服务器响应302 (“重定向”) - 重定向到登录页面。在正常工作的帐户上,服务器正确响应401代码并且工作正常。好像在我的帐户中没有设置“备用凭据”设置,并且服务器根本不允许基本身份验证。

我刚刚发现visualstudio.com有问题吗?

2 个答案:

答案 0 :(得分:3)

我刚刚使用Git Bash尝试了我的VSO帐户并且工作正常。

$ git clone https://user%40example.com:password@account.visualstudio.com/DefaultCollection/_git/Repository%20Name "Repository Name"

%40 @网址已转义。

答案 1 :(得分:0)

found如果你将git更新为更新的版本(我有版本1.7.1,更新后有1.7.12.4),它开始提示输入用户名和密码。然后,您无需在克隆语句中提供用户名和/或密码。