Clean & Speed Up Your Local Git Repo With Three Commands
Sometimes ya gotta force push or rebase and leave some commits behind. On a large repo with many commits and remotes, your git commands could actually slow down with too many objects floating around. Consider running these commands to help keep things in tip top shape.
git gc
Compresses and removes orphaned objects, thus speeding up commands in your local repo. Nice!
git fsck
Yes, I misread that too. git fsck
shows you all orphan or dangling objects in your local repo. I cleaned up recently so mine isn’t too bad.
git prune
If you don’t plan on doing anything with the objects you saw using fsck, run git prune
to clear them out. If you’d like to see what would be cleaned out without actually deleting them, run git prune -n
for a dry-run.
In theory, cleanup happens somewhat regularly when running some of git’s main commands. I haven’t noticed, or is it just good at its job. In any case, I hope this helped!
I learned about these commands from the amazing Git Internals pdf. Every dev should read it.