首页 > 解决方案 > 如何在不影响 master 的情况下删除我的本地分支历史记录

问题描述

我从 master 创建了一个分支,并且一直在分支中添加和删除大量二进制文件,结果,repo 的大小已经膨胀到原来的三倍。我已经删除了二进制文件并删除了分支,但 repo 大小没有改变。我怎样才能最小化回购大小?

标签: gitgithub

解决方案


如果您在 git 中删除一个分支,则仅删除命名的 ref,存储源的提交仍然存在,并且可以查看git reflog或恢复(如此所述)。因此,删除分支不会释放任何磁盘空间(超出视图 kb)。这种提交称为悬空提交,因为没有引用对象的分支/标签。让 git 清理这些东西调用

git reflog expire --expire-unreachable=now --all
git gc --prune=now

当然,这只有在您没有引用包含二进制文件的提交的分支时才有效。这也会破坏 reflog - 使得无法恢复当前删除的提交和分支。

看看这个答案https://stackoverflow.com/a/4528593/2250672


推荐阅读