我试着寻找一个关于减少仓库大小的好教程,但是没有找到。我如何减少我的回购大小...它大约是10 MB,但Heroku只允许50 MB,并且我没有接近完成开发我的应用程序的地方。减少Git仓库大小
我已经将通常的嫌疑人(日志,供应商,文档等)添加到.gitignore中。尽管我最近只添加了.gitignore。
有什么建议吗?
我试着寻找一个关于减少仓库大小的好教程,但是没有找到。我如何减少我的回购大小...它大约是10 MB,但Heroku只允许50 MB,并且我没有接近完成开发我的应用程序的地方。减少Git仓库大小
我已经将通常的嫌疑人(日志,供应商,文档等)添加到.gitignore中。尽管我最近只添加了.gitignore。
有什么建议吗?
git gc --aggressive
是强制剪枝过程发生的一种方法(当然是:git gc --aggressive --prune=now
)。您也有other commands清理回购。不要忘了,有时候git gc
单独可以increase the size of the repo!
它也可以在filter-branch
之后用于标记一些要从历史记录中删除的目录(具有进一步的空间增益);见here。但这意味着没有人从你的公共回购中撤出。 filter-branch
can keep backup refs in .git/refs/original
,这样目录也可以清理。
最后,如提到in this comment和this question;清洁引用日志可以帮助:
git reflog expire --all --expire=now
git gc --prune=now --aggressive
一个更加完整的,而且可能是危险的,解决方法是to remove unused objects from a git repository
在另一种情况下,请参阅http://stackoverflow.com/questions/1029969/why-is-my-git-repository-so-big – VonC 2010-01-22 11:40:01
注意自我:不要忘记远程分支:http:// stackoverflow。 com/questions/11255802/delete-remove-binary-file-from-git-repository-is-still-large – VonC 2012-06-29 06:26:33
注意自我:不要忘记远程标签 – saiyancoder 2014-10-06 06:27:09
我刚刚做了,它把它降低到2.2 MB ......非常感谢!虽然这似乎并没有减少回购大小Heroku .. hmm – 2010-01-22 11:16:18
使用--force推它。它会覆盖内容,即使没有改变(没有新的提交等) – 2010-01-22 11:21:59
@MarcinGil - 下面,VonC声明您需要访问服务器来清理远程服务器(如果我正确解析它)。 – jww 2016-06-16 11:34:10