当前位置:   article > 正文

SSH连接下Git fetch/pull/push 速度太慢的一些解决办法_git拉取文件速度很慢

git拉取文件速度很慢

有时候某些git的代码库在fetch远端的时候会非常慢,速度只有几十k或者几k。这个速度拉取一整个代码库可能要花费一晚上或者一天时间。甚至在每天更新已有代码库时候也会花上十分钟。可以尝试一下这些方法来提升拉取远端代码的速度:

1. Git 版本过低的话可能会导致这个问题,模糊记得在2.6.*某一个版本之前是有bug导致fetch速度过慢。尝试升级到比较新的Git版本可能会解决。

2. 尝试使用不同的repo server/mirror。比如在bitbucket上,一个代码库往往有一个主的代码服务器和多个镜像。

可以尝试使用不同的镜像来提升速度。如果是git clone的话直接选择一个不同的镜像即可,如果是 fetch/pull的话也可以在git config里面更改url的地址

3. 更改http的post buffer大小。增加这个缓存的话,对于有大量的小文件的代码库,可以有效提升速度,在这里我改成了512MiB:

git config --global http.postBuffer 536870912

4. 可以尝试使用一个不同版本的git 协议:

git config --global protocol.version 2

5. 在 IPv6上使用SHH连接的话可能会很慢甚至导致超时。Git会自己在超时之后切换到IPv4。但这样的话时间一直浪费在IPv6超时上,不如直接关掉,只是用IPv4:

在Linux的机器上更改/etc/sshd_config:

  1. Host bitbucket.org
  2. AddressFamily inet

然后重启一下ssh服务:

sudo service ssh restart

6. 如果你的代码库中有多个submodules的话,可以使用

git clone --jobs 3

来同时(并行)拉取多个submodules

其中的 -j <n>--jobs <n> 指定了可以同时并行拉取submodules的数量,git config中的submodule.fetchJobs也是定义了这个数量

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/787844
推荐阅读
相关标签
  

闽ICP备14008679号