关于MAC端Git拉取大仓库失败的解决办法(warning: suboptimal pack - out of memory)

  最近,遇到一个非常棘手的问题,那就在执行如下命令的时候,出现的错误提示

git clone <仓库SSH链接>

错误提示如下:

Cloning into 'ios_mifbb_2-5'...
remote: Counting objects: 7643, done.
remote: warning: suboptimal pack - out of memory
error: pack-objects died of signal 955/7454)   
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed

  相信很多人也遇到过这个问题,然后找遍大江南北,跨过山和海洋,Google和百度都没有解决方案。虽然使用--depth=1 浅克隆能够使用,但是我要的是当前分支全部克隆啊!见到最多的解决方案,无非是 "git config --global pack.window 0" 之类的设置,诚然,可能这些方案对有些人适用,但是,我这边依然无动于衷,困扰了两天的问题,很是头疼。同时,本地无法clone的情况,也影响着我使用的jenkins持续化集成的代码clone,不解决这个问题,会让我这个有强迫症的人,无法接受。
  转换思路,既然本地无法解决,那么我就得静下心来好好看看错误提示语,毕竟git提示语才是最有价值的解决方案的源泉。

remote: warning: suboptimal pack - out of memory

  意思是远端pack包内存越界了。那么这个远端应该是git仓库服务器,git仓库服务器内存不够了,说明至少问题在git仓库服务器,不在本地电脑端折腾了。于是,找到管理git仓库服务器人员,登录进入查看,嗯。。。可用空间已经所剩无几了,交换空间不足,很有可能是影响整个问题的根源。考虑到ios的代码一直以来是各种开发语言最大的,我问过,java一般也就几十兆,前端更小,可能会几兆,安卓也是几十兆,ios代码使用pod库导入的各种SDK,有的大的不得了,我现在已经是700M了,以后可能会达到几个G,其他端估计很难遇到这个问题。随后,服务器管理员重启一下git服务器,然后操作了交换空间设置。好的,问题到这里,在试一下clone,正常拉取。
  后话:问题是解决了,网上的文章当然不能解决所有的问题,我的解决方案只能说属于特殊点的,如果你尝试了很多其他办法,仍然无法有效,那么就试试我的方法吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git使用教程:https://blog.csdn.net/tgbus18990140382/article/de...
    SkTj阅读 2,846评论 1 11
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,704评论 0 13
  • 前言 Git使用教程 Git是什么 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 ...
    90后的思维阅读 963评论 0 0
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,751评论 9 163
  • 没人会一如既往的的守着你的。 还有人和我说过,一辈子很长很好长。想找个人陪你过一辈子很难。父母会先离开你,朋友会...
    简叶姑娘阅读 449评论 2 5