为什么我修剪过的git repo仍然如此之大,或者,为什么有这么多推动git push -tags?

时间:2012-11-07 15:06:56

标签: git

我跑了:

git filter-branch --prune-empty --subdirectory-filter cannery/assemblies master

将大型仓库的克隆变成一个小得多的仓库。

但是当我按结果推--tags时,它似乎相当大:

Counting objects: 36747, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13463/13463), done.
Writing objects: 100% (36713/36713), 65.47 MiB | 1.55 MiB/s, done.
Total 36713 (delta 14866), reused 36676 (delta 14854)

这是罐头厂/装配中的小东西。

我是否以某种方式保留了一大堆我不想要的东西?我怎么能找到?

1 个答案:

答案 0 :(得分:0)

github上有帮助的人提供了诊断。

这开始是一个非常大的svn回购。它通过了svn2git。到目前为止,svn'标签'引用了整个仓库的适当子集。

然后我愚蠢地用git中的maven-release-plugin运行了一个大回购的小部分,我后来开始拆分成自己的回购。这创建了一个引用整个仓库的标签。

所以,当我过滤时,该引用使整个射击比赛保持活力。

修复是删除此标记,然后重新gc。