如何讓 Git 使用 HTTP 代理服務器

因爲我們的內部網絡使用了代理,所以在 安裝 OpenStack 基於 Web 的管理控制檯的時候有個小麻煩,我們的 http 代理服務器無法通過 git 協議下載 openstack-dashboard 所需的代碼,也就是說可以 git clone https:// 這樣克隆代碼,但是不能使用 git 協議 git clone git://。糟糕的是在 openstack-dashboard/tools/pip-requires 裏恰好用到了 git 協議,所以運行 openstack-dashboard 安裝腳本的時候會因爲網絡無法連接 git:// 而中途失敗。如何讓 git 使用 http 代理服務器呢?
如果是 git clone http:// 或 git clone https:// 的話直接把代理服務器加到環境變量就可以了:
$ export http_proxy="http://username:[email protected]:3128/"
$ export https_proxy="http://username:[email protected]:3128/"
如果是 git clone git:// 的話麻煩一些(可能有的 git 源不提供 http/https 的方式),需要先安裝 socat,然後創建一個叫做 gitproxy 的腳本並填上合適的服務器地址、端口號等,最後配置 git 使用 gitproxy 腳本:
$ sudo apt-get install socat
$ sudo vi /usr/bin/gitproxy
#!/bin/bash
PROXY=squid.vpsee.com
PROXYPORT=3128
PROXYAUTH=username:password
exec socat STDIO PROXY:$PROXY:$1:$2,proxyport=$PROXYPORT,proxyauth=$PROXYAUTH
$ sudo  chmod +x /usr/bin/gitproxy
$ git config --global core.gitproxy gitproxy
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章