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文件中

Windows 环境下 Git clone pull fetch 慢 解决之道

3、如果网速依旧比较慢,可以尝试进行如下配置:

      前提:采用ssh协议clone 或pull 代码,如果没有配置ssh协议,请看 https://www.cnblogs.com/akidongzi/p/8366535.html 有详细的操作步骤,并将项目.git/config 文件中的相关url 修改成ssh 协议的地址:

        Windows 环境下 Git clone pull fetch 慢 解决之道

     具体配置方法:到git安装目录下(我的安装路劲是:C:\Program Files\Git\etc\ssh\) 添加config文件(无扩展名),

   Windows 环境下 Git clone pull fetch 慢 解决之道

内容如下:

            Host github.com
            User git
            Hostname ssh.github.com
            PreferredAuthentications publickey
            IdentityFile /c/users/think/.ssh/id_rsa
            Port 443

    PS: IdentityFile 对应的 文件路劲 是生成ssh协议秘钥本地存放路劲,其他项不用修改。