如下圖所示,當我試圖克隆別人的repo時,會發生這樣的錯誤,當我從git:/而不是https://,克隆時,它工作得很好。
發生這種情況是因為代理是在git中配置的。既然它是https代理(而不是http)git config http.proxy和git config --global http.proxy也無濟於事。
解決方案一
1、看看你的git配置
git config --global -l
如果你沒有任何與https代理相關的內容,例如https_proxy = …問題不在這里。
如果您有與https代理相關的內容,請將其從〜/ .gitconfig文件中刪除,然后重試。
2、如果仍然不起作用,請取消設置環境變量
env|grep -i proxy
你應該有一行或幾行https_proxy = …
使用以下內容逐個取消設置:取消設置https_proxy(或HTTPS_PROXY,具體取決於變量的名稱)
3、再次檢查環境變量
env|grep -i proxy
如果它沒有顯示任何你應該是好的。
注意:此解決方案可以應用於http和https代理問題。只是變量名稱從https更改為http。
解決方案二
在開啟vpn的前提下,手動配置git的代理。git客戶端輸入如下兩個命令就可以了。
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080
http://也可以改成sockets5://,但是區別在於:socks5不支持通過pubkey免密登錄github,每次提交代碼只能輸入用戶名和密碼。http可以支持免密登錄。
取消代理:
git config --global --unset http.proxy
git config --global --unset https.proxy
其實方案一和方案二是同一種方法,不過方案二更加具體一點罷了,大部分問題都可以用方案二解決,當方案二無效時,考慮使用方案一。