减lessgit存储库的大小

我试图寻找一个减less回购大小的好教程,但没有发现。 如何减less我的回购大小…这是大约10 MB,但事情是Heroku只允许50 MB,我不是在哪里附近完成开发我的应用程序。

我已经将通常的嫌疑人(日志,供应商,文档等)添加到.gitignore。 尽pipe我最近只添加了.gitignore。

有什么build议么?

git gc --aggressive是强制修剪过程发生的一种方式(当然可以: git gc --aggressive --prune=now )。 你还有其他的命令来清理回购。 不要忘记,有时单独git gc可以增加回购的大小 !

它也可以在filter-branch之后使用,标记一些要从历史logging中删除的目录(有更多的空间); 看到这里 。 但是这意味着没有人从你的公共回购中撤出。 filter-branch可以在.git/refs/original保存备份参数 ,以便目录也可以被清除。

最后,正如这个评论和这个问题所提到的那样 ; 清理reflog可以帮助:

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

一个更完整,也可能是危险的解决scheme是从git仓库中删除未使用的对象

感谢您的回复。 以下是我所做的:

 git gc git gc --aggressive git prune 

这似乎是做了伎俩。 我从10.5MB开始,现在只有980KB。