我运行:
git filter-branch --prune-empty --subdirectory-filter cannery/assemblies master
将一个大仓库的克隆变成一个较小的仓库。
但是,当我推动结果时,结果似乎很大:
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)
这实际上是罐头/汇编中的一小部分东西。
我是否以某种方式保留了一系列我不想要的东西?我如何找出?
您的承诺是孤儿。但是,他们需要一些时间才能收集垃圾并减少仓库的大小。
如果您想强制运行:
git gc --prune=now --aggressive
github的一个有益的人提供了诊断。
这开始是一个很大的SVN回购。它通过SVN2GIT。截至这一点,SVN"标签"引用了整个存储库的适当子集。
然后,我愚蠢地在git中愚蠢地跑了git的lugin,这是大仓库的一小部分,后来我着手将其分成自己的仓库。这创建了一个引用整个存储库的标签。
所以,然后当我过滤时,该参考使整个射击比赛保持活力。
维修是要删除此标签,然后重新使用GC。