Windows 环境下 Git clone pull fetch 慢 解决之道
问题描述:
git clone、pull 特别慢 ,项目大概是370MB, 每次pull ,Receving objects:******* 20kb/s ,传输速度才20kb/s 左右,进度70%左右就卡顿,很捉急。纠结了大半天,网上查阅了好多帖子,最终找到的解决方法,传输速度平均在200~300kb/s ,这个速度已经很满意了。
PS:用https 和 ssh 协议pull,速度一样,没有明显的变换。两协议的使用区别:ssh 协议配置秘钥后每次pull不用输入密码,https 通过git命令或相关配置文件在本地配置用户名和密码。
解决方法:
1、在hosts文件中配置git 域名
首先 根据 http://ju.outofmemory.cn/entry/351783 贴子,找到Github 网站 最新的ip 及相应的DNS配置信息,如下:
151.101.113.194 github.global.ssl.fastly.net
192.30.253.112 github.com
PS :上面提到的贴子里说的要将DNS信息配置到本地的hosts文件(C:\Windows\System32\drivers\etc)中,但是依旧很慢。继续看下面
2、将1里获取的DNS 信息配置到Git 安装目录下的hosts文件中
3、如果网速依旧比较慢,可以尝试进行如下配置:
前提:采用ssh协议clone 或pull 代码,如果没有配置ssh协议,请看 https://www.cnblogs.com/akidongzi/p/8366535.html 有详细的操作步骤,并将项目.git/config 文件中的相关url 修改成ssh 协议的地址:
具体配置方法:到git安装目录下(我的安装路劲是:C:\Program Files\Git\etc\ssh\) 添加config文件(无扩展名),
内容如下:
Host github.com
User git
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile /c/users/think/.ssh/id_rsa
Port 443
PS: IdentityFile 对应的 文件路劲 是生成ssh协议秘钥本地存放路劲,其他项不用修改。