我正在尝试使用命令行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有问题吗?
答案 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),它开始提示输入用户名和密码。然后,您无需在克隆语句中提供用户名和/或密码。