#!/bin/zsh branch=$1 branchParts=( ${(s:/:)branch} ) kind=$branchParts[1] name=$branchParts[2] pullreq=$2 [[ -n pullreq ]] && pullreq=" (pull request #$pullreq)" echo "Finishing $kind '$name'$pullreq..." >&2 git checkout $branch || exit $? merge-into() { echo "Merging $branch into $1..." >&2 git checkout $1 || exit $? git merge --ff-only || exit $? git merge --no-ff $branch --message "Merge $kind '$name'$pullreq into $1" || exit $? } [[ $kind = feature ]] || merge-into master merge-into develop echo "Merge successful, deleting $branch..." >&2 git push origin --delete $branch || exit $? git branch --delete $branch