Git is an exceptional piece of software and I really cannot think about living without it. And now, with super fast SSD, you can use Git without performance problems — even for large repositories (for example, maybe you converted an old Subversion or TFVC).
When your repository has thousands of objects, and especially if you adopt flows of work where you rebase often, your repository probably has a large number of unnecessary objects that can be deleted safely. Git runs for you in the background a special command called:
It is a garbage collection command that will clean up your local repository. Nothing changes in the remote repository. Sometimes, you can also manually run a deeper cleaning of your repository with this command:
git gc --aggressive
You can run this from time to time (documentation says you can run every few hundred commits). It will take longer that a normal
git gc, but it will help in keeping your local Git repository fast — even if you work with a really large codebase.