Git – 如何从提交历史中删除大文件,以便我可以推送存储库?

几个月前,我不小心为我的存储库提交了一个重约100MB的目录.

快进到今天,我正在尝试将该回购迁移到Github.由于尺寸限制,它不会让我.

我使用以下帖子删除了该目录:Completely remove file from all Git repository commit history

它似乎有效,但整个项目仍然重达100M.
我跑了杜.得到以下一行:98M ./.git/objects.

我不知道如何解决这个问题,因为我已经尝试了一些解决方案,但它们似乎都没有.

我现在应该怎么做?

编辑:我设法使用上面链接的线程修复它.特别是达伦的回答.

最佳答案 你需要在reflog中使条目到期,否则它将保存对那些旧blob的引用,然后垃圾收集它.

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

如果这不起作用,请尝试使用BFG工具清理您的仓库.按照他们的说法,首先制作存储库的副本.

点赞