git clonegit push 慢的原因不是 github.com 的域名被限制了,而是 github.global.ssl.fastly.net 这个域名被限制了,最终导致git的速度最高只能达到 20KB/S,通过以下方法解决:

1 修改 host 文件

1.1 通过 DNS 查询工具,查询域名的解析,如下图:

git-clone-1

选择 TTL 值最小的 ip,也可以通过ping命令,查看域名的 ip,如下图:

git-clone-2

最后选取 151.101.72.249 ip绑定到 host 文件上。
1.2 在 windows 环境下,host 文件的路径 C:\Windows\System32\drivers\etc\hosts ,用记事本打开,一般需要管理员权限才能修改;
绑定如下两个 ip 到文件中:

1
2
151.101.72.249 github.global.ssl.fastly.net 这个是最重要的
151.101.100.133 assets-cdn.github.com

1.3 最后执行ipconfig /flushdns命令,刷新 DNS 缓存。
修改后的下载速度能达到 200KB/S 以上。也可以通过其他方法加速下载:

2 git 设置 socks5 代理

git内置代理,直接走系统中运行的代理工具中转,比如,你的 SS 本地端口是 1080,那么可以如下方式走代理:

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

也可以停走代理:

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

3 git 拉去最近的一个revision

如果觉得仓库太大,可以在git clone中加入参数 –depth=1,只拉取最近的一个 revision:

1
git clone --depth=1 https://XXX

如果后面想看历史的版本,使用 git fetch 即可:

1
git fetch --unshallow

最后更新: 2018年01月07日 10:35

原始链接: http://blog.minhow.com/2017/03/19/tool/git-slow-solve/

× 请我吃糖~
打赏二维码