If you use my git dev, you may also find git blast useful.
It deletes both local and remote branch of the same name.
The code below is probably old and buggy so best grab the latest from my publicly accessible dotfiles and paste the git dev block into the [alias] section of your ~/.gitconfig file.
Probably buggy WIP code:
; `git blast `
; Delete branch both local and at origin.
blast = "!blast() {\
Y=\"\\033[1;33m\";\
B=\"\\033[1;34m\";\
N=\"\\033[0m\";\
G=\"\\033[1;32m\";\
R=\"\\033[1;31m\";\
\
branch=$1;\
\
[ \"$branch\" = \"master\" ]\
&& printf \"\\n\\t${R}NOPE!\\n\\tNot deleting your master branch!\\n\\tARE YOU MAD?!${N}\\n\\n\"\
&& exit 1;\
\
printf \"\\n${Y}Switching to master${N}\\n\";\
printf \"${B}git checkout master ...${N}\\n\";\
git checkout master;\
\
printf \"\\n${Y}Fetching refs${N}\\n\";\
printf \"${B}git fetch ...${N}\\n\";\
git fetch;\
\
printf \"\\n${Y}Deleting remote branch 'origin/${branch}'${N}\\n\";\
printf \"\\n\\t${G}PEW! PEW!${N}\\n\";\
printf \"\\n${B}git push --delete origin '${branch}' ...${N}\\n\";\
git push --delete origin \"${branch}\";\
\
printf \"\\n${Y}Deleting local branch '${branch}'${N}\\n\";\
printf \"\\n\\t${G}PEW! PEW!${N}\\n\";\
printf \"\\n${B}git branch -D '${branch}' ...${N}\\n\";\
git branch -D \"${branch}\";\
\
printf \"\\n\\t${G} POOF!${N}\\n\\n\";\
};\
blast"