我的回购应该是2Mo左右(我的所有来源和一些数据),但整个回购大约是19Mo,实际上.git / objects中的文件需要~17Mo ...
我在stackoverflow上读了几个关于清理git的答案。没有一个能让我正确地清理我的回购。我知道如何删除我的src和数据,但不知道如何删除/清理对象文件夹。
我试图删除我的硬盘的对象文件夹,但这破坏了我的本地回购......(我还有备份)
答案 0 :(得分:0)
如果git gc --aggressive --prune=now
不起作用(正如我在“Reduce git repository size”中提到的那样),您可以尝试克隆本地仓库。
git clone --mirror /path/to/your/current/repo newBarerepo.git
新克隆(newBarerepo.git
中的裸仓)应该比您当前的本地(未包装)仓库小得多。
那个裸的回购是一个中间步骤(因为它没有工作树,你不能直接在它工作)。
你仍然需要克隆它(再次)以获得一个常规的回购(但其中有一个.git
文件夹应该小得多。)
所以:
cd /path/to/your/bigBepo
git remote -v # note the url of oyur bitbucket repo
cd ..
git clone --mirror bigRepo BareRepo.git
git clone bareRepo.git newRepo
cd newRepo
git remote set-url origin </url/of/your/bitbucket/repo>
您可以检查newRepo/.git/
文件夹的大小,看看是否改善了这种情况。
答案 1 :(得分:0)
.git/objects
目录包含存储库的完整历史记录和元数据。如果你有很多提交(你应该)和非常详细的提交消息(同上),即使git用于存储数据的压缩格式也会变得非常大。我的课堂笔记(压缩的LaTeX源3.3MiB,对象34MiB)就是一个很好的例子。