#!/bin/env bash if [ ! $# -eq 2 ] then echo "usage : rename old_branch new_branch" exit 1 fi # Source - https://stackoverflow.com/a # Posted by CodeWizard, modified by community. See post 'Timeline' for change history # Retrieved 2025-11-21, License - CC BY-SA 4.0 # Names of things - allows you to copy/paste commands old_name=$1 new_name=$2 remote=all # Rename the local branch to the new name git branch -m $old_name $new_name # Delete the old branch on remote git push $remote --delete $old_name # Prevent git from using the old name when pushing in the next step. # Otherwise, git will use the old upstream name instead of $new_name. git branch --unset-upstream $new_name # Push the new branch to remote git push $remote $new_name # Reset the upstream branch for the new_name local branch git push $remote -u $new_name