DEV Community

Aman Mittal
Aman Mittal

Posted on • Originally published at amanhimself.dev

How to rename default branch in Git and GitHub

I'm currently maintaining a GitHub repo that is 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 -m flag.

git branch -m master main
Enter fullscreen mode Exit fullscreen mode

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 -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
Enter fullscreen mode Exit fullscreen mode

Set the current local HEAD branch to point to the new branch on GitHub.

git remote set-head origin main
Enter fullscreen mode Exit fullscreen mode

Now, go to the GitHub repo. Open Settings > Branches. Under Default Branch, click the edit button to switch to the main branch.

ss1

Now, go back to the terminal window and run the following command to delete the previous old default branch.

git push origin --delete master

# output
To https://github.com/account/repo.git
- [deleted]         master
Enter fullscreen mode Exit fullscreen mode

That's it!

Top comments (0)