re: Replacing master with main in Github VIEW POST


Hi Alexis.

I cannot understand why so many people are resisting this change.
Scott Tolinski found the rights word on Twitter:

So true.

Thanks for sharing the steps necessary for the change in a short and crisp way. I'm totally on board with this. All the newer repositories and the ones I'm working in regularly are updated already. All other repositories I own will be updated bit by bit.


I'm seriously stunned by how many people are fighting this! The number of folks who I've seen comment for the first time on DEV just to argue against this change is super discouraging.


I'm 100% with you. It's just sad.


I cannot understand why so many people are resisting this change.

I honestly can't either. It's such a small thing. Even doing it by hand takes a minimal amount of time!

We've been having this discussion at work; in the course of the discussion the topic of the etymology of the term 'master' as used in tech came up, and discussion of whether or not it was meant to be taken in that sense. Someone replied to that all asking "Does intent matter here?", and I think the answer is "no".

The analogy I used in the discussion there is that if hurl something at someone's face, they get bruised. And with regards to that bruise, it doesn't actually matter if I threw it deliberately or if I lost my grip on something while gesturing and flung it accidentally; they get hurt either way. And I'd think we all want to avoid injuring our colleagues, even if such injuries are accidental.

I mean, people put on wrist straps when using Wiimotes or JoyCons or VR controllers of any form because you don't want to fling them at someone's face unintentionally. I view renaming the primary branch of a repository to be akin to those wrist-straps: a safety measure to ensure we don't unintentionally fling daily microaggressions at someone's metaphorical face.

I mean, the only reason I haven't migrated all of my own older personal repositories yet is that I'm trying to work on a tool in my spare time which will use the github GraphQL API to handle the whole process—including shifting the default branch to 'main' and migrating any necessary branch protections from 'master' to 'main'—and have left the repos I'm not using on a daily basis as a final test case for when I finish.


First things first: I saw you joined dev.to just a few days ago. I am glad you joined this great community. Welcome!

Thanks for your reply. I agree 100% with your comment. It's good to see people like you with a healthy attitude to this subject.

Most people don't understand that it is not about them. It's not about them "being racist". You are not a racist if you use "master" as your main branch. That's not the point. It's about the other people interacting with your repository and your code. The point is: how do THEY feel?


What I think is most interesting is that when we say "but that's the way we've always done it" we are saying what people in 'the establishment' usually say.

In IT we are happy to disrupt industries causing all kinds of pain to people in 'the establishment' who have 'always done it the old way', yet when someone tries to disrupt us we cry foul.

At some point we moved from taking down 'the man' to actually becoming 'the man'.

You can't have it both ways - complaining when others don't change, then complaining that you don't want to change.


I do.

Renaming master to main is a small thing and should not bother you, right? Absolutely!
I'm not bothered by this and I am happy to do whatever I can to make more people feel included or less excluded/repelled.
That being said, change (might it be ever so small), does not come easy for all people. We are stuck in our comfort zones where our habits rule. It's called comfort zone for a reason!
It also triggers people, if you say 'This is a racist term, stop using it.'. People will go in denial saying 'But I am no racist. Ergo this can't be a racist term!'
There are so many layers of psychology involved, I cannot uncover all (Dammit Jim, I'm a software engineer, not a Doctor)

There is one thing that bothers me: The power of github.
Github is a privately owned company with a massive impact. If github decides the new name for the default primary branch will be 'main' then this will be a fact. No discussion in the community, no suggestions, no voting, nothing near to democracy. What if their next decision is not that benevolent? They are the de facto monopolist.
This is why I do not like the process behind the decision, whereas I can agree to the decision itself.


Hi Christian,
thanks for your reply.

First of all: I'm totally aware that the change is not easy for everyone. But I mean it in a technical way. There are software projects out there that have tons of automation scripts, hooks, and whatever that contains the word "master" to reference the master-branch. It's not easy to change the name of the branch in these projects.
And I'm not so much on the "CHANGE IT NOW OR YOU'RE A RACIST" side of this discussion. But I think we can all make more people feel included when we start changing it whenever we can make the change with reasonable effort. So start with your small projects where you do not need to update any automation scripts. There are millions of repositories out there where the change will be easy. Why not do it?

Because it's not comfortable? To be realistic: What will happen?
People will type git checkout master from time to time and will see the error, that master does not exist. And everybody will immediately remember that it is main now. Relearning this will take 5 days, tops. I'm ok with investing a couple of failing "checkouts" to make this change.

It also triggers people, if you say 'This is a racist term, stop using it.'

I can totally see that. But to be clear here: I did not say that. Most of the devs who stand up for this change are saying: "This term makes some people feel excluded/not welcome. I think we should change it."
And yes, there are hardliners on both ends. But let's have a healthy debate.

And I'm not so much on the "CHANGE IT NOW OR YOU'RE A RACIST" side of this discussion.
You might not be, but consider what message people are receiving. Communication is very hard. See "Friedemann Schulz von Thun" for the problem of sending and receiving messages. I trust, that German is not an issue for you ;-)

Because it's not comfortable?
Exactly. Like I said, it's called comfort zone for a reason. Change always needs energy to overcome inertia. Be that in Physics or in Psychology. We humans are beings of habit and tend to reject suggestions to change. This holds true, especially if the change is forced upon us by some "higher force".

But let's have a healthy debate.
This is what I wished would have happened. Github took this opportunity away by deciding on a new standard without asking. For a company that claims to be community-driven, this was not a smart move.
The goal is noble and right, the methods are questionable and I fear, did not help the cause.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

The term "master" is a bad one, but claiming it's racist is an idiotic reason to change it. It's non-descriptive and counter-intuitive vs e.g. "default".

Has nothing to do with racism, "master" is not a racist term, and this is not a race issue.

Thing is, we do not get to decide what counts as racist, as we (the white dudes) are not affected by it. Your argument is invalid, sorry.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

No, sorry, yours is. You don't get to invalidate me because of my skin color or genitalia.

Try this one with a PoC and see how this works out...

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

So you're saying they have special rights to disregard people because of their skin color?

No, nobody does.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

This is a waste of time. If you want to be racist, be...

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

What an incredibly stupid statement and pretty ridiculous of you trying to make me into a racist because I don't think the term "master" in Git is racist.

Grow up.


I disagree with the change for three main reasons:

  1. Force of habit

Yes, I know it's not the best one, but that's how pretty much everyone that disagrees feels. I've been using master since 2012 when I learned git, and I still use it every day. Deployed projects on Netlify or AWS use master, and those in VPS as well. When switching to main, I will be struggling for a while.

In addition, every online tutorial that wasn't published or updated after this change will be outdated, making it confusing for beginners. Is it master? It it main? They'll have to figure it out. Not just for them, but also for the projects they will be contributing to.

  1. The precedent

Right now, nobody who uses the word master in a git context is referring to slavery. But this will set a precedent if main becomes the standard. People who use master in 5-10 years will be accused of racism, by at least some minority, since everyone else will be using "main" because "master" is viewed as racist. Repositories will have issues demanding to rename the "master" to "main", and arguments will happen. That will also make black folks uncomfortable when contributing to projects with the "master" branch. It will increase a polarization already happening in the tech community.

  1. Is it really worth it?

So after #1 and #2, is worth the change?
If you were to ask black folks what are the problems that they're facing in the industry, I don't think the word "master" in git would come up in their top 10 list. Are we avoiding the long, complicated solutions and doing this just to show we're doing something?

Github still has a contract with ICE and has banned people based on their nationality.

Are we paying attention? Or did they make us happy already?

(please notice I'm not white, I don't live in a first world country and english is not my first language, so that might explain why I'm wrong/wasn't clear on something - no bad intentions here)


Hi Luis.

  1. As you stated yourself "Force of habit" is not a real argument. "We have always done it that way" is killing every healthy discussion at its core.

  2. Just because nobody is referring to slavery while using the term master in the context of git, doesn't make the origin of the word disappear. If you ask me, I will happily do this change if more people will feel more comfortable and welcome.

  3. in my opinion, we should be able to do smaller changes like this while we tackle the big issues in other places.

Sloan, the sloth mascot Comment marked as low quality/non-constructive by the community View code of conduct

The origin of the word? Oh you mean "master craftsman", don't you, or maybe "masters degree"? Oh but you don't, you just assume it means slave master, because you want to.

Hi Janne. Thank you for your comment. But, to be honest, I doubt that the branch name originates from "Master degree". I think it's also unlikely that "Master craftsman" is the real origin.
Bastien Nocera answered the question, why the name has a reference to "master/slave" here: mail.gnome.org/archives/desktop-de...

But it would be really cool if you could provide some proof that it originates from "Master degree". That would shorten this debate for sure.

I honestly don't much care if it's a "master copy" or from Bitkeeper's "master" and "slave" repository -concept, and really the only person who likely knows for sure where it came from is Linus Torvalds. When you say "answered" you mean "speculated".

  1. Master-slave relationships in computing are used to pretty accurately describe exactly what is going on. In case of version control "master" is just a bad name because it's non-descriptive and random, but it wouldn't be the first thing Git has failed at naming in a clear and useful way. Does not mean it is racist.

  2. The word "master" is not purely related to slavery, even though people want to assume that because it fits their narrative. Using master lists, having a master plan, having a blacklist, being a white hat, or wearing a white shirt are all equally racist words, not at all.

Definitions for the word master

  1. I would assume only someone from the U.S., or someone completely ignorant of the world history, could equate slavery as purely a racist issue. I would recommend to more rooted in the modern day reality of economic/wage slavery, and working against that, than the imagined threats of referencing slavery in the relatively recent U.S. history.

Whatever the origin of the word (of which you've only assumed that you know it - not given any proof), it's not a race issue. It's still a bad word that confuses people needlessly and a better name like "default" or e.g. "main" should have always been the right choice. Unfortunately Torvalds makes bad decisions on a regular basis and nobody dares to question him on those because there's some cult of personality thing going on around him.


Have you already spent more time defending it, than it would take to switch?

code of conduct - report abuse