git clone 网速过慢问题的两种解决方案

2020-05-22 教程
Cover Image

This article was last updated on days ago, the information described in the article may be outdated.

问题

从 GitHub 仓库进行克隆(clone)推送(push)和拉取(pull)等操作速度过慢

分析

git 应用内未设置 Proxy

socks5 Proxy 位于会话层,无法解决更底层的通讯 Proxy 问题

层次 名称 协议举例
7 应用层 HTTP、DNS、FTP、SMTP、POP3、SSH
6 表示层
5 会话层 SOCKS
4 传输层 TCP、UDP
3 网络层 IP、ICMP、IGMP、IPSec
2 链路层 MAC、ARP & RARP、SLIP、PPP、PPPoE、 L2TP
1 物理层 USB 、RS-232

解决

方案1 应用内 Proxy

HTTP Proxy

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

socks5 Proxy

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 --unset http.proxy
git config --global --unset https.proxy

只针对 GitHub

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

git config --global --unset http.https://github.com.proxy

方案2 对“git”进程注入

proxifier 为代表的这类软件,可以对其它上网软件的进程进行注入(把自己的某个动态库注入到上网软件的进程中)。通过注入自己的动态库,就可以截获(被注入的)上网软件的网络行为,并修改其网络行为使网络通讯的数据转向指定的 Proxy

proxifier 是付费软件,你可以在官网购买该软件。嗯~或者你搜索一下,说不定网上也有激活码

具体使用方法参见 proxifier 官方文档

配置时请小心死循环

疗效

从 10k/s 提升到这里,我很满意了,运气好的时候可达到 7 Mib/s

附加:

proxifier 有时候无法解决 UWP 的 Proxy 问题,可尝试使用 Fiddler 来辅助解决

Author: CaryC

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

Permalink: https://blog.wdsxhb.club/2020/05/22/git/

教程

Comments

Unable to load Disqus, please make sure your network can access.