Skip to content

Sixian Li

为 Git 设置代理

Tools

最近开始刷 MIT 6.S081,git clone实在是龟速,上网查了为各个协议设置代理的方法,在此记录。

前提

请确认本地已经打开代理,切换到「全局模式」。找到监听的端口,比如我使用的客户端是 ClashX,可以点击Copy shell command来确认端口:

最简单的解决方案

使用 proxychains(现在新版本是叫proxychains-ng)一站式解决所有协议的配置。

http://

为防止 clone 国内仓库速度慢,我们只为 GitHub 设置代理:

取消设置:

ssh:// (git@)

这需要修改~/.ssh/config(如果没有则新建)。将以下代码加入config文件,填入你的ipport

git://

对于 GitHub ,可以利用insteadOf 来快速实现:

但是,对于 MIT 给出的仓库地址,git://g.csail.mit.edu/xv6-labs-2020,这个是行不通的。所以我们需要修改core.gitProxy。先写一个git-proxy的脚本,并把它放到PATH能找到的地方,再进行修改。

大功告成!

参考资料

  1. proxychains 相关

  2. macos 给 git(github) 设置代理(http/ssh)

  3. git clone 一个 github 上的仓库,太慢,经常连接失败,但是 github 官网流畅访问,为什么? - 汪小九的回答 - 知乎

  4. stackoverflow