Easily rename your Git default branch from master to main
The Internet Engineering Task Force (IETF) points out that “Master-slave is an oppressive metaphor that will and should never become fully detached from history” as well as “In addition to being inappropriate and arcane, the master-slave metaphor is both technically and historically inaccurate.” There’s lots of more accurate options depending on context and it costs me nothing to change my vocabulary, especially if it is one less little speed bump to getting a new person excited about tech.
You might say, “I’m all for not using master in master-slave technical relationships, but this is clearly an instance of master-copy, not master-slave.”
UPDATE: There is Good analysis of the whole main branch convo in the Git Rev News: Edition 65. Git likely uses master in the context of “master copy” or “master recording.”
So we see that while the word master doesn’t always connote slave, for many, it’s evocative via basic word-association and they just don’t want to look at the word on their prompt all day. Choice is cool.
I have had dozens of git repositories that have ‘master’ as the main branch. Changing that would be a hassle right?
Let’s see. I’ll just “git branch -m master main” and then push it back! Remember that -m is –move so your history isn’t changed! Even better I can “git push -u origin main” to set the upstream at the same time.
> git branch -m master main
> git push -u origin main
Total 0 (delta 0), reused 0 (delta 0)
remote: Create a pull request for ‘main’ on GitHub by visiting:
* [new branch] HEAD -> main
That was easy.
NOTE: Changing the default branch to “main” also has the benefit of starting with “ma” so that autocomplete <TAB> muscle memory still works. Another great option for your main github branch is “latest.” The goal is to just be unambiguous.
Now I just need to change my default branch in my GitHub settings for my repository.