
我已在非標準連接埠 10002 上設定了 Gerrit 儲存庫。我可以在 Unix 機器和大多數 Windows 上透過 HTTP 協定成功複製這個儲存庫。但是,我無法在某些 Windows 執行個體 (Windows 7) 上複製它:
$ git clone http://[email protected]:10002/my-repo
Cloning into 'my-repo'...
fatal: unable to access 'http://[email protected]:10002/my-repo': The requested URL returned error: 403
透過 SSH 進行克隆沒有任何問題。我需要 HTTP 克隆工作,因為我不僅需要在許多沒有私鑰的電腦上克隆此儲存庫。
我嘗試關閉 Windows 防火牆和 Microsoft Security Essentials。不工作的實例沒有安裝任何 antivir。
如何檢查什麼是 blockig repo 連線?
這個問題沒有幫助。
答案1
我檢查了我的伺服器的訪問日誌。對於 Msysgit,版本Git-1.9.5-preview20150319
是:
185.28.251.241 - - [28/May/2015:19:31:17 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 401 458 "-" "git/1.9.5.msysgit.1"
185.28.251.241 - - [28/May/2015:19:31:22 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 403 290 "-" "git/1.9.5.msysgit.1"
我將Msysgit降級到先前的版本後Git-1.9.5-preview20141217
,可以成功複製repo。那麼訪問日誌如下:
185.28.251.241 - - [28/May/2015:19:42:08 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 401 458 "-" "git/1.9.5.msysgit.0"
185.28.251.241 - - [28/May/2015:19:42:08 +0200] "GET /my-repo/info/refs?service=git-upload-pack HTTP/1.1" 200 1193 "-" "git/1.9.5.msysgit.0"
185.28.251.241 - - [28/May/2015:19:42:08 +0200] "POST /my-repo/git-upload-pack HTTP/1.1" 200 80403 "-" "git/1.9.5.msysgit.0"
所以我的解決方案是將 Msysgit 降級到1.9.5-預覽20141217或升級到適用於 Windows 2.x 的 Git- 他們都工作。
另請參閱相關問題。