[英]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.