Blake Campbell
Posted on May 4, 2021
Git Repo maintenance
If you've been working on any repo for an extended amount of time, you may have saved a million branches that have already been merged. It is time to clean all those old ones out.
The commands we'll be using.
# Removes references from branches that are no longer on the origin
git remote prune origin
Note this next part will depend on your main branch's name. If you haven't yet, then you should rename master
to main
. See below for how to.
# Lists all the branches that have been merged into main and remove them
git branch --merged main | grep -v '^[ *]*main$' | xargs git branch -d
Wrap it all up.
The last step is relatively easy. Combine it into your .zshrc
or .bashrc
. I'm sure there's a Windows and Linux equivalent, but I'm using macOS.
alias cleanUpMyGit="git remote prune origin ; git branch --merged master | grep -v '^[ *]*master$' | xargs git branch -d"
Go ahead and restart your terminal, then try it out in a repo directory.
$ cleanUpMyGit
Afterward, you should see a list of the branches removed by the command. Happy Coding!
References:
- https://www.git-tower.com/learn/git/faq/git-rename-master-to-main/
- https://github.com/github/renaming
My snack pack reads are intended for a quick read without any fluff and provide actionable items.
Posted on May 4, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.