Make Git consume less disk space?
Depending on what you want to do with your repository, you might also consider using the following git clone
option:
--depth <depth>
Create a shallow clone with a history truncated to the specified
number of revisions. A shallow repository has a number of
limitations (you cannot clone or fetch from it, nor push from nor
into it), but is adequate if you are only interested in the recent
history of a large project with a long history, and would want to
send in fixes as patches.
There are a few suggestions I can offer:
Delete no longer used branches. They can pin some commits that you don't use and would never use. Take care however to not delete branches that you would later need (perhaps for review, or for comparison of failed effort). Backup first.
Check if you didn't commit some large binary file (perhaps some generated file) by mistake. If you have, you can purge it from history using "git filter-branch"... well, if you didn't share the repository, or it is worth aggravating other contributors to rewrite history. Again: backup first.
You can prune more aggressively, discarding some safeties, bu using
git gc --prune=now
, or low-levelgit prune
. But take care that you don't remove safeties and backups (like reflog) that you need minute after compacting.Perhaps what enlarges your repository are some untracked files in working directory. There "make clean" or "git clean" might help (but take care that you don't remove some important files).
Most safe of all those suggestions: you can try to pack more aggressively, using
--depth
and--window
option of low-levelgit-repack
. See also Git Repack Parameters blog post by Pieter de Bie on his DVCS Comparison blog, from June 6, 2008. Or "git gc --aggressive
".