很多时候内网只能访问内部的git server,无法访问外部的(如github或是各种开源项目)。下面以Ubuntu为例介绍如何通过proxy访问git库。
1. 安装connect-proxy:
$apt-get install connect-proxy
2. 写脚本gitproxy.sh:
#!/bin/sh
connect -S proxy.company.com:1234 $@
当然实际中还可以加上一些高级过滤功能,比如内网git不用代理,只外网需要通过代理等等。
然后加执行权限,并拷贝到PATH路径下:
$chmod 775 gitproxy.sh
#cp gitproxy.sh /usr/bin/
3. 最后将该脚本写进git配置:
$ git config --global core.gitproxy gitproxy.sh
现在应该就可以了,试一下效果:
@:~/tmp$ git clone git://git.seabios.org/seabios.git seabios
Initialized empty Git repository in /home/jzj/tmp/seabios/.git/
remote: Counting objects: 8801, done.
remote: Compressing objects: 100% (3465/3465), done.
remote: Total 8801 (delta 6994), reused 6639 (delta 5330)
Receiving objects: 100% (8801/8801), 2.02 MiB | 77 KiB/s, done.
Resolving deltas: 100% (6994/6994), done.