Many organizations began to be aware of and change non-inclusive language in the second decade of the 21st century. Many of those changes affected technology, including the choice for git to replace master with main for the default repo branch to avoid connotations with slavery.
While GitHub took actions to ensure new repos created on the site used main, older projects still used master as the default branch. In addition, some generator libraries still create new projects with master as the default and Azure DevOps also creates new repos with master as the default.
I had some time between projects at work in the last week and I wanted to tackle making the change for some organization repos I created to manage SQL objects and SSIS projects. This will allow all developers and contributors to have a common reference regardless of repo. There is a small process involved in making the change, as well as communicating the change to any other developers or contributors to the repo.
Rename master to main and push to remote
- In the local environment, open a terminal and navigate to the project to be updated
- Move (rename) the
masterbranch tomain
git branch -m master main
- Push the new branch to the remote
git push -u origin main
Reset default branch on GitHub
I use GitHub for my personal projects.
- Choose Settings > Branches;
masterwill display as the default branch
- Click the arrows icon to Switch to another branch
- Select the new
mainbranch and click Update
- Acknowledge the warning for changing the default branch (ideally, you will communicate separately with others working in this repo that the default branch has changed)
- A message will display confirming the change
- Review the branches for the project and confirm that
mainis set as the default
Reset default branch Azure DevOps
My organization uses Azure Devops for version control.
- Choose Repos > Branches
- Click the 3 dots menu on the
mainrecord and choose Set as default branch
- Confirm the change to
mainas the default branch
Post-conversion
In each case, I plan to leave the master branch in place for about a week before removing it. At my work organization, I am in the process of informing other contributors about the need to change to using main.
Top comments (4)
I'm so inspired and moved by this corporate (pronounced Microsoft) backed brilliant idea about changing terminology related to "slavery" (really, talk about underpaid and overworked "employees" in countries like India) that henceforth I'm gonna call my MasterCard "MainCard", a Master's Degree "Main's Degree" and I'll try not to master the art of sarcasm, rather I'm gonna try to main it.
Since when is 'master' synonym with slave owner?
What a generation we live in :(
exactly, i still don't get it the migration from master to main branching