为什么GIT提交需要30GB内存才能提交?

时间:2012-08-20 04:44:23

标签: git-commit

我有一个大的存储库,大约80GB

git --version
#git version 1.7.12
git init .
#Initialized empty Git repository in /reponame/.git/
git add -A .

git commmit -m "Backup 2012-08-19 03:43:44"
#fatal: Out of memory, malloc failed (tried to allocate 32220431361 bytes)
#[master (root-commit) 8053f0d] Backup 2012-08-19 03:43:44

为什么GIT需要30GB内存才能提交?

这不符合GIT家庭主场的第一段:

  

Git是一个免费的开源分布式版本控制系统,旨在快速,高效地处理从小到大的非常大的项目。

1 个答案:

答案 0 :(得分:1)

这取决于工作目录中的内容。当你做了

git add -A
git commit -m "Backup..."

你实际上是在告诉git“记录对存储库的更改”,这在80Gbs的新初始化目录中可能会发生很多变化。

http://www.kernel.org/pub/software/scm/git/docs/git-commit.html