git-clone内存分配错误

时间:2009-10-19 18:06:38

标签: git

我正在尝试运行git clone并收到以下错误:

fatal: Out of memory, malloc failed
fatal: index-pack died with error code 128
fetch-pack from 'user@server:git' failed.

我能够在我的本地计算机上成功完成克隆,但是当我尝试克隆到另一台服务器时它失败了。

对于这整个git事情还是有点新鲜,所以任何帮助都会非常感激。 :)

4 个答案:

答案 0 :(得分:5)

您的存储库中是否有大文件(例如日志文件)? 显然,您的存储库太大,无法在硬盘驱动器上检索。

您可以做两件事:

  • 检查大文件并删除它们(如果它们没用)(不仅仅是提交。还有modifying your history。如果你的存储库中仍然有你的大文件,它就不会小。< / LI>
  • 做一个“git gc”。它会自动清理未使用的文件并压缩存储库。

答案 1 :(得分:1)

如果远程计算机上的git由于内存限制而失败,您也可以尝试rsyncscp将存储库复制到本地计算机并继续从那里克隆。

答案 2 :(得分:0)

您可以使用git clone运行--depth -1命令。这只会获取最后一次提交,因此涉及历史记录(git log,blame,甚至push / pull)的操作可能无效。但是,它需要更少的内存使用,磁盘空间和网络传输。

其中描述了限制:Why can't I push from a shallow clone?

答案 3 :(得分:0)

也许你的本地机器是32位而另一台服务器是64位...... 我使用MSysGit 32位在Windows上遇到了类似的问题。 来自Cygwin的git 64位完成了这项工作。

我的original answer可用于问题Git on Windows, “Out of memory - malloc failed”