美文网首页
git仓库过大致使clone失败的解决方法

git仓库过大致使clone失败的解决方法

作者: Mr_fei | 来源:发表于2022-08-04 11:29 被阅读0次

    仓库分支过多,提交历史超过了1G,直接clone会报错:git

    remote: Enumerating objects: 109541, done.
    remote: Counting objects: 100% (109541/109541), done.
    remote: Compressing objects: 100% (37502/37502), done.
    error: RPC failed; curl 18 transfer closed with outstanding read data remaining
    error: 7031 bytes of body are still expected
    fetch-pack: unexpected disconnect while reading sideband packet
    fatal: early EOF
    fatal: fetch-pack: invalid index-pack output
    

    尝试一:增大postBuffer

    git config --global http.postBuffer 1524288000
    

    结果无效

    尝试二:压缩
    compression 表示压缩,从 clone 的终端输出就知道,服务器会压缩目标文件,然后传输到客户端,客户端再解压。取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1…9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,得到的文件会越小。

    git config --global core.compression 0
    

    结果无效

    尝试三:浅层clone

    //浅层clone代码 depth 1只会拉取最后一次log, depth(后面数字越大拉取的历史记录越多)
    1.git clone --depth 1 远程地址
    //拉取完整当前分支
    2.git fetch --unshallow 
    

    结果成功

    经过分支名称去拉取分支信息以及checkout

    git branch -a
    git remote set-branches origin '远程分支名称'
    git fetch --depth 1 origin 远程分支名称
    git checkout 远程分支名称
    

    相关文章

      网友评论

          本文标题:git仓库过大致使clone失败的解决方法

          本文链接:https://www.haomeiwen.com/subject/oheywrtx.html