[英]How to properly clone a visualstudio.com TFS Git repository from a command line?
我正在尝试使用命令行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存储库,但结果相同。
我尝试了各种各样的事情 - 比如在https://
之后<username>:<password>@
或使用_netrc
,但没有任何效果。 无论我尝试什么,都会发生同样的错误。 我没有在命令行上提示我输入凭据。
当我使用curl
获取https://kalamon.visualstudio.com/DefaultCollection/_git/gitp/info/refs并提供基本身份验证时,我得到它们没有问题。
从VS2013 UI克隆工作正常。 但是,我真的需要能够从命令行执行此操作,因为我需要从脚本环境中进行克隆工作。
有没有人有什么可能是错的?
UPDATE
我做了一些挖掘,事实证明只有我的帐户受到影响。 当我在visualstudio.com上尝试使用其他帐户时,一切正常。
我也进行了一些跟踪,事实证明,在我的帐户上,Git服务器的响应有点奇怪(我会说不正确) - 而不是响应401错误代码(“未经验证”),服务器响应302(“重定向” “) - 重定向到登录页面。 在正常工作的帐户上,服务器正确响应401代码并且工作正常。 好像在我的帐户中没有设置“备用凭据”设置,并且服务器根本不允许基本身份验证。
我刚刚发现visualstudio.com有问题吗?
我刚刚使用Git Bash尝试了我的VSO帐户并且工作正常。
$ git clone https://user%40example.com:password@account.visualstudio.com/DefaultCollection/_git/Repository%20Name "Repository Name"
%40
是@
URL-escaped。
我发现如果你把git更新到更新的版本(我有版本1.7.1,更新后有1.7.12.4)它开始提示输入用户名和密码。 然后,您无需在克隆语句中提供用户名和/或密码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.