DEV Community

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

Posted on

2 2

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.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs