Find size of Git repository
Note that, since git 1.8.3 (April, 22d 2013):
"
git count-objects
" learned "--human-readable
" aka "-H
" option to show various large numbers inKi
/Mi
/GiB
scaled as necessary.
That could be combined with the -v
option mentioned by Jack Morrison in his answer.
git gc
git count-objects -vH
(git gc
is important, as mentioned by A-B-B's answer)
Plus (still git 1.8.3), the output is more complete:
"
git count-objects -v
" learned to report leftover temporary packfiles and other garbage in the object store.
UPDATE git 1.8.3 introduced a more efficient way to get a rough size:
git count-objects -vH
(see answer by @VonC)
For different ideas of "complete size" you could use:
git bundle create tmp.bundle --all
du -sh tmp.bundle
Close (but not exact:)
git gc
du -sh .git/
With the latter, you would also be counting:
- hooks
- config (remotes, push branches, settings (whitespace, merge, aliases, user details etc.)
- stashes (see Can I fetch a stash from a remote repo into a local branch? also)
- rerere cache (which can get considerable)
- reflogs
- backups (from filter-branch, e.g.) and various other things (intermediate state from rebase, bisect etc.)