The rename happened on November 10, 2025. The default branch of
rust-lang/rustis now namedmain.
We will be renaming the default branch of the rust-lang/rust repository from master to main on 2025-11-10. We've chosen main specifically as it's the default for newly-created repositories in GitHub and the renaming will leverage the GitHub tooling built to make this easier.
If you maintain a tool that currently assumes the default branch of rust-lang/rust is named master, using HEAD instead will work both before and after the rename.
After the rename, contributors will need to run a few git commands in their local checkout of the repository to update. Note that the specific commands that should be executed might differ based on the way you use git and how your local checkout is configured. We provide a guide below that we think should work for most use-cases, but your mileage may vary.
Please try to follow the guide step-by-step, and if you run into any problems, feel free to ask in this Zulip channel.
Renaming your fork's default branch
If you have a fork of the rust-lang/rust repository on GitHub, you should first update its default branch name before continuing. If you do not rename it and later run git checkout master, git will create a master branch based on your fork's outdated master branch, which can be confusing. Some of the following git commands in this post might also not work as expected.
Here is how you can update your fork's default branch:
- Go to
https://github.com/<your-username>/rust/settings - Find the default branch section, click on the "Rename branch" button (pencil icon) and rename the branch to
main.
Updating your local git checkout
Execute the following git commands in your local checkout of the rust repository.
Note that the instructions below make two assumptions:
- You have a git remote called
upstreamthat points to therust-lang/rustrepository and a remote calledoriginthat points to your<username>/rustfork. Please update the commands accordingly if you use a different setup.- You can find out which remotes you have configured using the
git remote -vcommand.
- You can find out which remotes you have configured using the
- Your local
masterbranch tracks the default branch of your fork, not the default branch of the upstreamrust-lang/rustrepository. If that is not the case, execute the commentedgit branchcommand instead.- You can find which remote your local
masterbranch tracks by usinggit branch -vv --contains master(the tracked branch should be shown in square brackets).
- You can find which remote your local
# Update the local branch name
# Update local references to your <username>/rust fork
# Update local references relevant to the upstream rust-lang/rust repository
#git branch --set-upstream-to=upstream/main main # If your main branch tracks the upstream repo
# Remove old branch names (optional, but recommended)