Renaming a Git Branch
Last Updated: February 22, 2020.
Last week, I ran into a situation where I needed to rename a git branch which I had already pushed. Thanks to the internet, I was able to figure out exactly how to get this done.
In this note, I would be documenting what was done, and how you (future me 😀) can get it done too.
tl;dr
Just need the commands to run?
Fine, here…
# update local
git checkout <old_branch_name> && git branch -m <new_branch_name>
# update remote
git push origin -u <new_branch_name> && git push origin -d <old_branch_name>
With the straight to the point answer provided, let’s go into some detail.
Setting the Scene
Say you are working on a bug fix, and per team convention, bug fix branches are to have a name structure of bg/short-title-JIRA-NO
, for example…
bg/incorrect-timestamp-TY-411
… and you’ve implemented the fix, tested and pushed.
It’s past 6 at this point and you are preparing to leave your workstation, but then you notice you messed up the ticket number – instead of TY-421
, your branch name has TY-411
.
“Arrgh!!!”, you scream (internally, of course).
Totally acceptable reaction, dear.
Totally acceptable.
I mean, what the hell?!
Let’s fix this, shall we?
Setting Things Right
The goal now is to rename the branch from bg/incorrect-timestamp-TY-411
to bg/incorrect-timestamp-TY-421
in all necessary locations. And this is what we would be doing now. Let’s fix up our local branch.
Rename Local Branch
Renaming the local branch is pretty straight forward. Here’s how:
First, ensure you’ve checked out to the “old branch”. In our case, this would be:
git checkout bg/incorrect-timestamp-TY-411
Then, rename the branch
git branch -m bg/incorrect-timestamp-TY-421
Updating Remote
Similar to how simple it was to update the local branch, updating remote also involves two easy steps.
First, push the renamed branch to origin
(or whatever your upstream name is) and track:
git push origin -u bg/incorrect-timestamp-TY-421
Then, make the old origin branch redundant:
git push origin -d bg/incorrect-timestamp-TY-411
Summing up
With all of these done, things are right now, you can shut down and head home in peace 😌