我从主服务器创建了一个分支,并一直在该分支中添加和删除大量二进制文件,结果,回购规模已经膨胀到原来的三倍。我已经删除了二进制文件并删除了分支,但是仓库的大小没有改变。我如何最小化回购规模?
答案 0 :(得分:2)
如果您在git中删除分支,则仅删除命名的ref,存储源的提交仍然存在,并且可以用git reflog
查看或恢复(如here所述)。因此,删除分支不会释放任何磁盘空间(视图kb之外)。此提交称为悬挂提交,因为没有引用对象的分支/标记。为了使git清理此调用
git reflog expire --expire-unreachable=now --all
git gc --prune=now
这当然只有在没有分支引用包含二进制文件的提交的情况下才有效。而且这确实会破坏reflog-无法恢复当前已删除的提交和分支。