为git设置代理(git方式克隆,亲测可用)

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 为git设置代理(git方式克隆,亲测可用),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

为git设置代理(git方式克隆,亲测可用)

本文详述在Mac和Windows上为git设置代理(过程仅有小差异)

友情链接如果不能访问GitHub,如何《使用putty搭建隧道上外网(github)》

步骤

以下教程,Mac和Windows的步骤差不多,仅仅是差异在Windows上无需安装connect,因为自带有。

GitHub的克隆链接,有 httpsgit 两种协议(git协议就是ssh协议!),如 https://github.com/w8y56f/test-public.gitgit@github.com:w8y56f/test-public.git,我们不考虑 https,我平时也极少用这个。

  1. 下载克隆需要的工具,从任意以下方式下载,进入克隆的目录,然后进行make,拷贝编译后的connect文件到bin目录(仅Mac平台需要,Windows平台安装git的时候已经自带
  • 地址一:https://bitbucket.org/gotoh/connect (这个应该是原作者)
  • 地址二:git@github.com:w8y56f/connect.git(或https://github.com/w8y56f/connect.git)
git clone https://github.com/w8y56f/connect.git

# 进入克隆下来的目录
cd connect
# 直接gcc编译
make
# 然后将编译得到的文件:connect,拷贝到bin目录
cp connect /usr/local/bin
  1. 修改ssh配置文件(没有的话新建一个)
vim ~/.ssh/config

贴入如下内容并保存退出

# 全局
# ProxyCommand connect -S 127.0.0.1:6600 %h %p
# 只为特定域名设定
Host github.com
        ProxyCommand connect -S 127.0.0.1:6600 %h %p

注意:

  • 6600 的端口请改成你自己在ssh软件里配置的隧道的端口
  • 127.0.0.1 不用改
  • 全局的代理配置不需要的话可以像例子那样注释掉,访问github.com的时候才走代理
  • -S 代表走socks代理,不用改。(网上说可以用 -H 实现http和https的仓库的克隆,我实验失败)
  1. 测试是否可以克隆,为了测试完整,最好公仓和私仓都一起测试,尤其需要测试一下私仓
# 地址换成你自己的,以便测试公仓和私仓是否可以克隆
git clone git@github.com:xxxx/test-public.git
git clone git@github.com:xxxx/test-private.git

补充

  • 网上有很多的教程,如
git config --global http.proxy "http://127.0.0.1:6600"
git config --global https.proxy "https://127.0.0.1:6600"

其实这是设置只能对 http和https协议有效,如 git clone https://xxxxx,对于git协议是无效的,如 git clone git@xxxxx

PS:如何删除上述配置的变量?

git config --global --unset http.proxy
git config --global --unset https.proxy

有时候这个配置也不能克隆https的仓库,不知道为什么

  • 遇到问题多试下,例如重新启动终端试一试

配置的例子

举了一些配置的例子供参考,这些例子无论是mac还是Windows,都是相通的

例子1

已测试可用。注释是可以用#的

# 全局
# ProxyCommand connect -S 127.0.0.1:6610 %h %p
# 只为特定域名设定
Host github.com
	ProxyCommand connect -S 127.0.0.1:6610 %h %p
例子2

以下配置是正确的。因为公司开不开putty代理都可以克隆bitbucket的代码,所以做了以下测试:按以下配置,如果开了putty,是可以克隆bitbucket的,但是不开就不行,说明是以下的写法的配置是生效的!

# 全局
# ProxyCommand connect -S 127.0.0.1:6610 %h %p
# 只为特定域名设定
Host github.com bitbucket.org
	ProxyCommand connect -S 127.0.0.1:6610 %h %p

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/135317.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!