# vim:et sts=2 sw=2 ft=zsh local -a remotes if (( ${*[(I)-r]} || ${*[(I)--remotes]} )); then remotes=(${^*:#-*}) else remotes=(${(f)"$(command git rev-parse --abbrev-ref ${^*:#-*}@{u} 2>/dev/null)"}) fi if command git branch --delete ${@} && \ (( ${#remotes[@]} )) && \ read -q "?Also delete remote branch(es) ${remotes} [y/N]? "; then print local remote for remote (${remotes}); do command git push ${remote%%/*} :${remote#*/} done fi