9.1 Compacting Repository History
Everything in life needs a little maintenance to work optimally.
Your car needs its oil changed, your floors need sweeping, and
Git needs to have git gc run.
Git stores everything. The problem with this is that
it occasionally will have some leftover data that is no longer useful.
For example, when you use the --amend
parameter on git commit to fix a commit,
Git remembers the older revision too. Or you delete an experimental branch
using the git branch -D, and Git knows what was in
that branch even though nothing references it any longer.
This is where git gc comes in. Once a
month, or about every 100 or so commits, it’s a good idea to run
git gc to tidy things up by optimizing the way Git stores its history ...