Reduce git repository size

2018-12-31 20:14发布

问题:

I tried looking for a good tutorial on reducing repo size, but found none. How do I reduce my repo size...it\'s about 10 MB, but the thing is Heroku only allows 50 MB and I\'m no where near finished developing my app.

I added the usual suspects (log, vendor, doc etc) to .gitignore already. Although I only added .gitignore recently.

Any suggestions?

回答1:

git gc --aggressive is one way to force the prune process to take place (to be sure: git gc --aggressive --prune=now). You have other commands to clean the repo too. Don\'t forget though, sometimes git gc alone can increase the size of the repo!

It can be also used after a filter-branch, to mark some directories to be removed from the history (with a further gain of space); see here. But that means nobody is pulling from your public repo. filter-branch can keep backup refs in .git/refs/original, so that directory can be cleaned too.

Finally, as mentioned in this comment and this question; cleaning the reflog can help:

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

An even more complete, and possibly dangerous, solution is to remove unused objects from a git repository



回答2:

Thanks for your replies. Here\'s what I did:

git gc
git gc --aggressive
git prune

That seemed to have did the trick. I started with around 10.5MB and now its little more than 980KBs.



标签: git git-clean