清理我的bitbucket git,更准确地说,清理.git/objects文件夹

清理我的bitbucket git,更准确地说,清理.git/objects文件夹,git,bitbucket,Git,Bitbucket,我的repo应该是大约2Mo(我所有的源和一些数据),但整个repo大约是19Mo,实际上.git/objects中的文件需要大约17Mo 我读了几个关于stackoverflow的答案,关于清理git。它们都没有引导我正确地清理我的回购协议。我知道如何删除src和数据,但不知道如何删除/清理objects文件夹 我试图删除硬盘上的objects文件夹,但这破坏了我的本地repo。。。(我还有一个备份)如果git-gc--aggressive--prune=now不起作用(正如我在“”中提到的)

我的repo应该是大约2Mo(我所有的源和一些数据),但整个repo大约是19Mo,实际上.git/objects中的文件需要大约17Mo

我读了几个关于stackoverflow的答案,关于清理git。它们都没有引导我正确地清理我的回购协议。我知道如何删除src和数据,但不知道如何删除/清理objects文件夹

我试图删除硬盘上的objects文件夹,但这破坏了我的本地repo。。。(我还有一个备份)

如果git-gc--aggressive--prune=now不起作用(正如我在“”中提到的),您可以简单地尝试克隆本地repo

git clone --mirror /path/to/your/current/repo newBarerepo.git
新克隆(newBarerepo.git中的裸回购)应该比当前本地(未打包)回购小得多。
不过,裸回购是一个中间步骤(因为它没有工作树,所以不能直接在其中工作)

您仍然需要(再次)克隆它,以便恢复正常的回购(但其中有一个
.git
文件夹,应该小得多)

因此:

cd/path/to/your/bigBepo
git remote-v#注意oyur bitbucket repo的url
光盘
git克隆--镜像bigRepo BareRepo.git
git clone bareRepo.git newRepo
CDNewrepo
git远程设置url源

您可以检查
newRepo/.git/
文件夹的大小,看看这是否改善了情况。
.git/objects
目录包含存储库的完整历史记录和元数据。如果您有大量的提交(应该),以及非常详细的提交消息(同上),那么即使是git用来存储数据的压缩格式也会变得相当大。我的课堂笔记的repo(压缩的LaTeX源代码3.3MiB,对象34MiB)就是一个很好的例子。

git-gc--aggressive--prune=now
不起作用。我有一个新的回购协议和正确的文件。但我仍然试图不必删除我的旧回购。。。你知道我在那个项目上工作了好几个月…@bob hunterofunicorns,我知道。git克隆--mirror给了你什么?(只是为了检查裸复制回购的规模)@bob hunterofunicorns好的,现在从裸复制回购中克隆(经典克隆),你应该重新开始经营。你是什么意思?cd
/path/to/your/current/repo
。然后
git clone.git
?因为它有效,但我仍然有~19Mb@bob-hunterofunicorns不,我的意思是在另一个路径中克隆新的裸repo(或者重命名旧的repo文件夹,并重用相同的路径)。您的存储库在某个时间点不仅仅是您的源和数据。
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>