0%

科学地让 Git 飞,git clone 速度 5Mb/s

写本文原因:Git 太慢。看最后,14 KiB/s

image-20200214101358632

首先拥有一个代理服务器

代理分为正向代理和反向代理,

正向代理就是代理用户端,改变用户端的身份(IP)。

反向代理就是代理服务端,改变服务器的身份(IP)。

目前的代理大多数用的都是正向代理。

获得服务器方法很多,不讲了,然后你就可以通过软件转发流量来进行“代理”

这里使用 ShadowsocksR 配置一个本地 HTTP 代理。

然后,设置代理

运行SSR,在软件中添加已获得的服务器,然后进行一些常见的设置如 PAC 。

Tips:PAC:Proxy Auto Config

然后 Win + R ,输入 inetcpl.cpl 或是找到系统设置里面的代理设置,可以看到类似这样子的界面:

image-20200214104604088

这样子就是说明本地 1080 端口正在被代理软件使用。

然后,修改 Git 配置

git 客户端可以使用代理来改善连接速度,Git 的所有配置都是存储在一个文件中的,可以通过修改配置文件或者通过 Git 命令行来修改配置。

Git 命令行主要有几种存在形式:

  • Windows命令行调用,主要是Windows安装版 Git 或在有 Git 的文件夹中运行 Git
  • 软件自带的 Git,这种多是在开发工具或 IDE 中,提供一个 Git 的命令行,如 Visual Studio、Git desktop 等,可能是自带了一份 Git 副本,可能是调用系统的 Git。
  • Linux 系统中的 Git ,Linux 系统大多自带 Git 命令

Git 的配置文件是一个名字叫 .gitconfig 的文件,上述的第1、3种的配置文件比较好找,第二种就存在不确定性。

在Windows中,.gitconfig%userprofile% 文件夹,即用户文件夹。用notepad++ 打开,看起来像这样子:

image-20200214111535140

在Linux中,.gitconfig~ 文件夹,即用户文件夹,看起来像这样子:(截图为 WSL Ubuntu16.04 + Windows Terminal )

image-20200214113002933

已知本地端口的情况下,(比如我的是1080),可以配置文件手动添加如下内容:

1
2
3
4
[http]
proxy = http://127.0.0.1:1080
[https]
proxy = http://127.0.0.1:1080

注意修改后格式像图中即可

另一种方式是在 Git 命令行设置,上面的三种情况都可以使用。

打开命令行,输入:

1
2
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy http://127.0.0.1:1080

如果要取消代理设置,输入:

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

(打开配置文件会发现对应的也自动修改好了)

然后就可以打开命令行开始 git clone 辣。

请注意 Github 的两种 clone 方式的区别:

https 方式,是通过本地的 http 链接,是会通过代理软件的

ssh 方式,是通过 ssh.exe 收发流量,不会通过代理软件,所以依然很慢

(截图为我开始 ssh 方式 clone 的时候,网络防火墙提示 ssh.exe 联网)

image-20200214125336775

用 https 方式速度就会达到接近带宽的峰值。比如我们来 clone 一个 ctf-wiki

image-20200214133923497

坚持原创技术分享,您的支持将鼓励我继续创作!