最近从 GitHub clone 仓库速度极慢,遂查阅资料解决之。本文主要介绍 Git 使用 SSH 克隆时如何走 Socks 代理,因为使用 HTTPS 克隆的话目前基本上很容易找到资料,比如 Using a socks proxy with git for the http transport | Stackoverflow。
正如那个回答里面所说,Git 已经对 HTTPS 方式的代理支持的很好了,设置 http 和 socks 代理都是支持的,但是如果你是使用 SSH 方式的话,就不得不另行配置了。
Stack Overflow 上有一个问题 SSH in git behind proxy on windows 7,提出使用 connect
进行代理。但是问题本身是针对 http 代理的,如果使用 socks 代理需要更改一下。
首先明确一点:connect.exe
已经在 Git 中预置了,无需再次下载安装。见下面的截图:
然后我们创建一个 config
文件:
vi ~/.ssh/config |
在文件中写入如下内容:
# 这里的 -a none 是 NO-AUTH 模式,参见 https://bitbucket.org/gotoh/connect/wiki/Home 中的 More detail 一节 |
再来看看现在 git clone
的速度:
记录一下,主要是阅读官方文档花了一些时间,希望对你有所帮助。当然,如果你是用的是 Linux 和 macOS 的话可以找到 connect.exe
的等价替代,Google 即可找到很多答案,比如这一篇。