2013-06-28 42 views
1

現在我需要一些克隆repositorys,但他們都被禁止,那麼我從https://www.kernel.org/pub/software/scm/git/docs/git-config.html讀一些話:爲什麼http_proxy,https_proxy,all_proxy env沒有工作對我來說,當我使用git proxy?

http.proxy

替代HTTP代理,通常使用配置了HTTP_PROXY,https_proxy和 all_proxy環境變量(參見curl(1))。這可以在每個遠程的基礎上被覆蓋;看到remote..proxy

然後我設置了3個Env virables:

export all_proxy="domain.com:8888" 
export http_proxy="domain.com:8888" 
export https_proxy="domain.com:8888" 

但它沒有工作,然後我重置他們「」,然後我設置http.proxy使用:

git config --local http.proxy "domain.com" 

它works.But我不應該設置全局,因爲有可能被別人克隆,但他們不應該使用代理,爲什麼它沒有被集3種Env virables工作?

回答

1

因爲您將env設置爲domain.com:8888,並且未在git配置中指定端口,或者因爲您需要大寫那些env vars。

你也意識到,你可以設置每回購git vars?所以你可以這樣做:

git init myrepo 
cd myrepo 
git config http.proxy "domain.com" 
git remote add origin myremote 
git fetch --all 
git checkout -B master origin/master 

然後只有這個回購你會代理。

+0

有沒有當我克隆spedific庫,我也可以指定代理的方法? – gnemoug

+1

不是純粹的混帳。你可以編寫一個包裝腳本來處理它。 – Chronial

+0

我可以提供幫助,但env vars的問題究竟是什麼? – Chronial

0

你可以(至少目前)還通過代理與克隆命令一起設置:

git clone https://github.com/user/repository.git --config "http.proxy=host:port" 
相關問題