1

我有一个很大的存储库,大约 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的home main home的第一段:

Git 是一个免费和开源的分布式版本控制系统,旨在以速度和效率处理从小型到大型项目的所有内容。

4

1 回答 1

1

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

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

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

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

于 2012-08-20T04:55:58.290 回答