Problem
I build an app and use git branches.
Branches sum up, I don't know which branches are already merged into master and I lose overview.
git branch
Solution (Linux)
I need a command that checks if a branch is merged into master and if it is merged, it should get deleted locally.
git checkout master(or whatever branch you want to compare to)git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d
Explanation
-
git branch --merged: List all branches whose tips are reachable from the specified commit (HEAD if not specified). -
egrep -v "(^\*|master|dev)": Search for all lines that do not start with*(= the current branch), or don't havemasterordevin it. -
xargs git branch -d: Execute the command to delete all found branches from step 2.


Top comments (5)
Add it as an alias in your
~/.gitconfig:Great idea!
Hey, is this a post with a solution? Do you have a complete script?
Hey,
there is the
Solution (Linux)-section with the two-step solution.For Windows, there is a link in the
Further Reading-sectionSome comments may only be visible to logged-in visitors. Sign in to view all comments.