3 回答
TA贡献1911条经验 获得超7个赞
您的解决方案已在本地和远程为您提供工作副本,但在远程存储库决定再次重新打包时会再次导致问题。幸运的是,您可以设置配置选项,这将减少在两个存储库中重新打包所需的内存量 - 这些实质上会使您在重新打包时添加到默认选项中的命令行参数。因此,您应该登录到远程,更改到存储库并执行:
git config pack.windowMemory 10m
git config pack.packSizeLimit 20m
您可能希望在本地存储库中执行相同的操作。(顺便说一下,我猜你的存储库非常大,或者这些是内存很少的机器 - 这些值对我来说似乎很低。)
对于它的价值,重新包装获得的malloc失败时非常过去大型的仓库,我也改变了价值观core.packedgitwindowsize,core.packedgitlimit,core.deltacachesize,pack.deltacachesize,pack.window和pack.threads,但它听起来好像你不需要任何进一步的选择:)
TA贡献1860条经验 获得超9个赞
由于无法直接访问存储库,因此无法执行重新打包,执行浅层克隆然后逐渐获取,同时增加深度对我有帮助。
git clone YOUR_REPO --depth=1
git fetch --depth=10
...
git fetch --depth=100
git fetch --unshallow //Downloads all history allowing to push from repo
希望它仍然可以帮助某人。
TA贡献1869条经验 获得超4个赞
我使用以下步骤解决了这个问题。
已将存储库从服务器检出到我的本地计算机(使用ssh上的原始副本)
重新打包本地存储库
git repack -a -d --window-memory 10m --max-pack-size 20m
在服务器上创建了一个空存储库
git init --bare
将本地存储库推送到服务器
检查是否可以克隆服务器存储库
- 3 回答
- 0 关注
- 1068 浏览
添加回答
举报