How to rename default branch in Git and GitHub
Published on Jan 10, 2022
2 min read
I'm currently maintaining a GitHub repo that has grown over the last year. It primarily contains all the example code that I create when working on React Native and Expo articles and tutorials.
Recently, I switched the default branch to
main. Here are the steps I took. All of these commands execute inside a terminal window.
Start by moving the default branch locally using the
git branch -m master main
master is the old branch name and
main is the new branch name.
Set the new branch as the local default on the remote. By default, Git doesn't allow renaming a remote branch.
git push -u origin main# output* [new branch] main -> mainBranch 'main' set up to track remote branch 'main' from 'origin'.
Set the current local HEAD branch to point to the new branch on GitHub.
git remote set-head origin main
Now, go to the GitHub repo. Open Settings > Branches. Under Default Branch, click the edit button to switch to the
Now, go back to the terminal window and run the following command to delete the previous default branch name.
git push origin --delete master# outputTo https://github.com/account/repo.git- [deleted] master
Browse all posts
Software Developer and Technical Writer since 2017. Loves learning and writing about Node.js, React, React Native & Expo. Previously, worked as Developer Advocate, independent consultant, and technical writer with companies like Draftbit, Vercel and Crowdbotics.