gpt4 book ai didi

git - 如何使用 32 位计算机克隆 git 存储库?

转载 作者:太空狗 更新时间:2023-10-29 14:19:59 26 4
gpt4 key购买 nike

我已经将一个旧的 cvs 存储库(大约 13GB 大)迁移到 git(大约 2.7GB 大)。但是我不能用我的 32 位工作站克隆 repo。我遇到内存不足错误(malloc 无法分配大约 6 MB)。有可能解决这个问题吗?

remote: counting objects: 1227276, done.
remote: Compressing objects: 100% (217540/217540), done.
Receiving objects: 100% (1227276/1227276), 2,66GiB | 791.00KiB/s, done.
remote: Total 1227276 (delta 787852), reused 1227276 (delta 787852)
Resolving deltas: 100% (787852(787852), done.
fatal: Out of memory, malloc failed (tried to allocate 6838754 bytes)
fatal: remote did not send all necessary objects

服务器:Rhel63 64位;工作站:Win XP 32 位,2GB 内存;Git:两​​者均为 1.8.3.4。

Update1:​​ 现在我已经将服务器上的 2.8GB 大包文件重新打包成 500MB 大包文件。但在客户端,它对克隆没有影响。它只创建一个 2.8GB 的​​大包文件。我如何告诉 git clone 进程使用较小的包文件或在它们放置在服务器上时创建包文件? - 对我来说一个有趣的方面:​​接收到的对象的大小减少到 1.5GB。

更新 2: 现在,经过一些研究和分析时间后,我认为主要问题是 git clone 进程无法处理我 32 位工作站上的一个大包文件。但是我如何配置克隆过程以获得几个较小的包文件呢?在服务器端,它可以很好地与 repack 命令配合使用,但不会影响客户端。

更新 3:现在我有一个 1.1GB 的大裸 git 存储库(通过使用 git gc --aggressive --prune=now)。但是内存不足的错误仍然存​​在。所以我试图拆分 repo 协议(protocol)。因此,我使用了 git rmgit commit -a。因此,两个新的裸仓库的大小都等于旧的中央仓库的大小。但现在从工作站克隆确实有效。内存消耗现在恒定 < 300MB。在它增加不可阻挡之前。

现在我的问题是:为什么克隆过程现在可以毫无问题地完成?

最佳答案

如果有的话,您可以存档 .git 目录,然后在本地对它进行 scp,然后取消存档。这就是您的克隆存储库。

一旦它使用 git 命令,然后使用“git remote add”链接到远程存储库。那时你应该能够 pull 和 push 。但是,如果您必须重复此过程,我不确定这是否完全令人满意。

关于git - 如何使用 32 位计算机克隆 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18239560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com