拉取时出现错误:警告:子优化包 - 内存不足

10

每当我尝试进行 git pullgit gc 操作时,都会遇到这个错误。

warning: suboptimal pack - out of memory 
Compressing objects: 100% (10955/10955), done.
fatal: Out of memory, malloc failed (tried to allocate 827101023 bytes)
error: failed to run repack

我该如何解决这个问题?

2个回答

18

这个帖子 提供了解决方案:

在适当的机器内存上运行 git repack -adf --window=memory 命令,针对该存储库进行压缩。

这基本上与 SO 问题 "Repack of Git repository fails" 的解决方案相同。

git repack -a -d --window-memory 10m --max-pack-size 20m

然而,Mark Longair警告你

虽然你的方法可以使本地和远程仓库都能正常工作,但当远程仓库再次打包时,会重新出现问题。

因此,设置pack.windowMemorypack.packSizeLimit是更安全的解决方案,同时检查core.packedxxxcore.deltaxxx的配置也很重要。

对于Windows上的msysGit,这条评论提到:

git config --global pack.windowMemory 256m

对我有用(在64位Windows上出现了内存分配错误(Git-1.7.6-preview20110708.exe))


-1

运行中

git repack -a -d --window-memory 10m --max-pack-size 20m

并没有真正解决我的问题。

移除仓库,然后再次进行 git 克隆解决了问题。


在尝试推送回远程之前拉取时,我遇到了这个问题。删除存储库并重新克隆将撤消我的提交。 - brethvoice

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接