I don't like cleaning, or just about anything else that is repetitive, I like to leave repetitive tasks to automation. Therefore I was excited to discover that git can keep your branches and tags from remote repositories clean automatically with the
git fetch --prune. I have taken to adding it to my global git configuration with
[fetch] prune = true pruneTags = true
I very aggressively delete branches when they are no longer useful (always ensure that they are tagged, or optimally merged back into the active branches first) on the repositories I own. These options give me the clean branch options I want on my local clone, without the effort of having to do the cleaning myself.
As with most automation you have to be careful to ensure it does exactly what you want, and no more. If you are a user of the
git note features you should checkout out <https://kgrz.io/git-fetch-prune-cleans-up-notes.html> before enabling this feature.