DEV Community

Cover image for Clean up my git (Snack Pack #5)
Blake Campbell
Blake Campbell

Posted on

Clean up my git (Snack Pack #5)

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

Go ahead and restart your terminal, then try it out in a repo directory.

$ cleanUpMyGit
Enter fullscreen mode Exit fullscreen mode

Afterward, you should see a list of the branches removed by the command. Happy Coding!


References:

My snack pack reads are intended for a quick read without any fluff and provide actionable items.

Top comments (0)