遇到了存储库的问题,并尝试了几乎所有可能的配置设置,例如.pack.WindowMemory等等
我相信有人已经检查了一个大文件到远程存储库,现在每次我尝试拉动或推送它时,GIT会尝试打包它并耗尽内存:
Auto packing the repository for optimum performance. You may also
run "git gc" manually. See "git help gc" for more information.
Counting objects: 6279, done.
Compressing objects: 100% (6147/6147), done.
fatal: Out of memory, malloc failed (tried to allocate 1549040327 bytes)
error: failed to run repack
Run Code Online (Sandbox Code Playgroud)
尝试过各种选项的git gc&git repack,但仍然返回相同的错误.
几乎放弃了,即将创建一个新的回购,但我想先问一下:)
我已经看到了几个类似的 问题,但是还没能解决我的问题,所以再问一遍.
我在现有的启用git的项目中添加了大量新文件,并尝试将其推送.当我执行推送时,它会压缩它们,然后写入它们,然后当它达到%100时,它会因此错误而失败:
error: index-pack died of signal 9 332.28 MiB | 5712 KiB/s
error: pack-objects died with strange error
error: failed to push some refs to '<username>@<my repo location'
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的事情:
进入回购并确保一切都是可写的,就像这里建议的那样
binary -delta在.gitattributes中的某些文件类型上设置选项
将一些文件夹移出(和git提交删除),以便稍后再单独添加它们.
我有点想法......:/有什么建议吗?感谢任何建议 - 最多
编辑 - 我已经发现这是由于dreamhost因为过多的内存消耗而导致推送(我通过将我的app文件夹复制到dreamhost上的repo服务器并从那里进行推送).
我找到了一些页面, - 谈论NO_MMAP=1git中的一个选项来帮助防止这种情况,但是他们在配置git时会谈到它.我可以在现有的git安装中设置此选项吗?它是git-inited应用程序的配置的一部分正在进行推送还是它是repo配置的一部分?
编辑2 - 按照上面的页面上的说明,我下载并制作了我自己的本地git二进制文件,并设置了NO_MMAP = 1选项.
我确定这些是在我的路径中安装了dreamhost的版本之前,并且"哪个git"显示了我的本地版本,到目前为止一切都很好.但是,我得到完全相同的问题.
我是否需要使用我的仓库做一些事情来使NO_MMAP选项工作,或者你认为问题是什么?