Skip to content

Instantly share code, notes, and snippets.

@chrishunt
Last active December 17, 2015 02:28
Show Gist options
  • Save chrishunt/5535557 to your computer and use it in GitHub Desktop.
Save chrishunt/5535557 to your computer and use it in GitHub Desktop.
Delete merged branches with `git bam`
[alias]
bam = "!source ~/.githelpers && delete_local_merged_branches"
bamr = "!source ~/.githelpers && delete_remote_merged_branches"
#!/bin/bash
function delete_local_merged_branches() {
git branch --merged master | grep -v master | xargs git branch -d
}
function delete_remote_merged_branches() {
for BRANCH in `git branch -r --merged origin/master |\
grep -v master |\
cut -d/ -f2-`
do
git push origin :$BRANCH
done
}

Delete all local branches that have been merged into master:

$ git bam

Delete all remote branches that have been merged into origin/master:

$ git bamr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment