Lawtee News

h2dcc commented on h2dcc/moments: Issue #1

Git 下载速度死活只有20K

今晚遇到个稀奇古怪的事,以往我从Github拉个仓库到本地,都是50Mbps起步,但也不知道是不是因为最近将博客写作路径调整为 submodule 的原因,当随主仓库克隆到本地时,死活只有200Kbps速度,也就是20多KB/s。一开始我也没当回事,就让它在后台下载,然后打开Steam做本周CS2的任务,结果玩了四局游戏两三个小时过去后,居然一个250MB的仓库还没下载完,只到70%。 然后撤销重新试了多次,发现主仓库下载时都有100Mbps,而一旦拉取submodule,立马降速到200Kbps。网上一查,说可能是submodule协议问题。的确,我这个submodule为了配合一些workflows功能,在设置中使用SSH连接,也就是 git@github.com:user/repo.git 这种链接模式。然后git这边,可能会使用 git:// 协议,通过9418端口进行通信,而这个端口很可能被运营商限速了。 解决办法也比较简单,为git中这个端口添加一个全局代理或者将ssh协议改写为https即可。
# 创建全局协议转换规则
git config --global url."https://github.com/".insteadOf "git://github.com/"
git config --global url."https://github.com/".insteadOf "git@github.com:"

# 强制转换所有子模块
git submodule foreach 'git config url.https://github.com/.insteadOf git@github.com:'