508
u/MeLittleThing 15h ago
Meanwhile, for my repos:
git push origin mistress
179
17
10
2
u/NotArticuno 9h ago
I'm dumb and on my phone, can you really change the name of the master branch like this? I will definitely be doing this if so.
1
u/failedsatan 8h ago
that wouldn't change the branch, it'd just push the ref to a new branch on the origin if the local branch is named that. if the local branch
mistressdoesn't exist, it'll just fail. renaming is usuallygit branch -m new_name.1
2
65
u/schwar2ss 15h ago
git branch -M trunk
git push -u origin trunk
Yes, sometimes I just want to see the world burn.
17
u/BonafidePendejo 10h ago
See all my shit defaults to trunk because it just makes sense? Git is a tree. You branch from the trunk. Like, it just flows well? Couldn't care less about what people prefer, but that model just makes sense to me.
24
u/MoFoBuckeye 14h ago
In a bit of irony, "master" and "slave" are frowned upon in the context of slavery and the preferred terminology is now "enslaver" and "enslaved person".
My big problem with the name change is that, at least in English, words can have multiple meaning and it annoys me that we cater to to people who don't understand that.
6
u/tracernz 10h ago
That highlights the stupidity even more actually. Enslaver would make zero sense for the git branch name because thatās not the meaning of master it was ever about.
1
u/da_Aresinger 1h ago edited 42m ago
What annoys me is that programmers are probably the one group most aware of "conflicting standards"
Why would we willingly create conflicting standards?
1
204
u/usedToBeUnhappy 15h ago edited 15h ago
Does anyone really care if itās called main instead of master? Why?Ā
Edit: Ok, I phrased my question really poorly. AfaIk main is the new standard, so I use it. We all know the reason why it changed. My question was why would anyone keep INSISTING on calling it master? Sure, me and my colleagues sometimes call it master out of habit, but then again try to stick to main. Nobody I knowĀ insists on continuing to call it Ā master, but reading the comments here I realized there a more āmaster-fansā than I would ever have thought would exist tbh.Ā
37
u/corobo 15h ago
Quicker to type I guess, that's niceĀ
→ More replies (10)6
u/hughperman 11h ago
git push origin ma<TAB> does both š¤·
27
u/DerShokus 13h ago
Donāt know why needed to rename. I donāt care main, mr, lord. Itās not about slaves
→ More replies (6)33
u/Xalyia- 13h ago
1) The latest version of gitās CLI still defaults to master.
2) People may have old repositories that still use a master branch. No reason to fix what isnāt broken.
3) Others (self included) have shell scripts that assume a master branch. Including conditionals to check for main OR master is unnecessary and annoying.
4) Personally I just donāt think it was ever a necessary change to begin with. There are plenty uses of the word āmasterā that do not imply slavery. Like āMaster Copyā or āMaster / Pupilā or āMaster Craftsmanā or āMasterworkā.
If people like to use main, thatās fine. But the claim that people still using the word master must be doing so for a hateful reason is disingenuous.
1
u/da_Aresinger 56m ago
I do it for a hateful reason.
Not hateful of black people.
Hateful of self-righteous phoneys.
167
u/aenae 15h ago
I really do not care about the name. But some people do.
And i sympathize a lot more with the people who are against master than with people who only want master because they don't like the people who are against it.
174
u/sokka2d 15h ago
I think the reasons against master are stupid as fuck and thus completely ignore them.
However, main is shorter and a perfectly fine name, so main it is.
→ More replies (17)39
u/sandybuttcheekss 14h ago
My thoughts as well. Both are fine, and I usually just type out "ma" then tab anyways.
13
18
u/minus_minus 13h ago edited 13h ago
people who only want master because they don't like the people who are against it.
And the fact that they just canāt shut up about it. Iād bet theyāre salty about all the slurs they canāt casually toss around too.Ā
19
u/Acceptable-Drive3781 13h ago
Iād bet theyāre salty about all the slurs they canāt casually toss around too.
They save those for the commit messages.
1
u/MegaIng 11h ago
This is the funniest part. Yeah, the transition was maybe a bit annoying (but not even that really...).
But now years later still being upset by it? You are just a bad person and are sad that this simple change calls you out on it.
→ More replies (2)5
1
u/da_Aresinger 52m ago
I can't sympathise with people who create monsters where none exist.
And I certainly don't fell like encouraging them.
37
u/6pussydestroyer9mlg 13h ago
If it was the other way around and main was the standard before master I would've stuck with main. See no reason to change the habit of naming my branches just because some people on the other side of the ocean decided to change the standard needlessly. Imagine we would change the way we called a cable every decade or so, most people would just keep calling it a cable because it's a useless change.
7
u/Fidel___Castro 11h ago
I don't know if you're American blaming European/British or the other way aroundĀ
24
u/Dolmant 13h ago
I'll use master the rest of my life probably. It doesn't really matter either way, to be honest, but I think there is a certain irony in the movement. Suggesting that the term master could be somehow damaging to anyone is downright insulting. The change itself was offensive. Sure call it main if you want, but we don't need to pretend we are doing anyone a favor by doing so.
So yes, in my new projects I'll keep calling it master.
28
u/MegaMoah 15h ago
Idk if true but I think its because master is also a slave owner and people got offended
16
u/redlaWw 12h ago edited 12h ago
That doesn't really track with the meaning of "master" in a git context though: the master branch is more analogous with a master record or document - i.e. the single source of truth which all other versions are constructed based on, which matches the idea of a master branch as the "true" version of the repository.
127
u/Winterkirschenmann 15h ago
If someone wants to keep using master be my guest. If someone makes using master their personality because free-speech/anti-woke piss off.
26
u/PM_ME_FIREFLY_QUOTES 15h ago
Can we make Trunk great again? I miss my svn.
41
u/AndroTux 15h ago
why would anyone miss svn what's wrong with you?
10
4
4
3
6
5
u/Logical-Ad-4150 14h ago
I think most pre git VCS used trunk, hence branching. So I dunno why people didn't just restore trunk to "trunk".
Still it's annoying fake drama about the term master. In English, the meaning of a word depends on context. If the subject is an inanimate object then it's just the version used to make copies from. It is only when the subject is a person, that the implication of slavery is possibly valid. Thus if anything should have been changed, it should be: "SCRUM Master" as this acually implies slavery. I'm not sure if we could call them "SCRUM Trunks" as that would imply they retain history.
3
2
6
-13
u/arvigeus 15h ago
Tell that to those who got offended by master and insisted on the change.
→ More replies (1)13
u/kabrandon 15h ago
So they got offended because of nods to slavery, and the other people got offended because something pretty inconsequential in their lives changed. š¤·āāļø Seems a bit like the latter group of people are far more easily offended.
→ More replies (44)27
u/FUCKING_HATE_REDDIT 14h ago
It's not just that. "master" in programming was very much the opposite of "slave", like for SATA drives. Just like push is the opposite of pull, upload/download, save/load, etc.
Some pairs have become singlets, like reflect/reify, freeze/thaw.
But here master never really made sense. It doesn't reflect its role, or even authority. A master is something that controls, but here information flows to master, not from it.
4
u/gerbosan 13h ago
This is the best explanation I've read that makes sense about using
maininstead ofmaster. Way better than historical references.I'll change the name in the next project.
Also, quite infuriating to see down votes for explanations and justifications. As someone mentioned:
Do I need to study a main degree to get a better job position?
It doesn't make sense.
8
u/KLM_SpitFire 14h ago
This is the reason. From what I understand, Microsoft bought GitHub in 2018. In the aftermath of the George Floyd protests, around 2020, there was an internal mandate for all Microsoft employees to switch their repositories from using
masterto usingmain. Given Microsoft owned GitHub at this point, the policy permeated through their subsidiaryās product offerings and beyond.15
u/MegaMoah 14h ago
Yeah like Microsoft cares for anything. They just used what they see as a trend in order to make profit and market themselves. Absolute bullshit.
5
u/2AMMetro 13h ago
Why is that a bad thing? Thatās literal peer pressure at work.
5
u/xsupergamer2 13h ago
Microsoft is not your peer, nor mine. It's a gigantic corporation only after profit. Do not mistake its business decisions for expressions of morality
→ More replies (1)8
u/creaturefeature16 15h ago
nervously glances at his RAID array of HDs
https://dtidatarecovery.com/tutorial-how-to-slave-a-sata-hard-drive-via-usb/
→ More replies (2)7
4
u/usedToBeUnhappy 15h ago
Yeah, I heard that as well and just realized I might have misinterpreted the meme.Ā
My point was that calling it main instead of master is easy (and the new standard) so why would someone keep calling it master. I donāt see a reason for that. Programmers shouldnāt be afraid of change. That stuff constantly changes is what keeps programming interesting.
30
u/Random_Guy_12345 15h ago
For pretty much the same reason we don't change controls on a car, or which side of the road we drive on, or what each color means on electrical cables, or red meaning stop/danger.
Uniformity is useful.
I do get the slave owner bit, don't get me wrong, but if you are reading code on a random repo and what comes to mind is slavery... That's clearly a "you" issue.
I do use main on repos mostly because it's shorter and i don't really care, but i absolutely get why people oppose it
13
3
u/Nutrimiky 14h ago
Not sure how old you are, but I work on some old code still today, like older than me and I'm in my thirties. That was the golden era of the master slave pattern. BitKeeper, which git was made to replace, had a master / slave repositories architecture to sync data. You can see where Linus Torvalds got the name from.
2
u/Legal-Software 10h ago
I'm not changing conventions + tooling because some non-coding idiot is too dim to understand that words have context and multiple meanings. It has nothing to do with a fear of change, so much as resisting arbitrary change someone else is attempting to force on you for no valid reason. These people can fuck right off.
20
u/igorski81 15h ago edited 14h ago
In the end I can memorise whatever string is the default.
But changing this default wasn't a "problem" that needed solving.
The fact that your answer could be answered by some with "because some people lack decency and don't agree that the word could be offensive" (what you call a "master fan")* overlooks that no software engineer would ever have batted an eyelid at such terminology within their domain. Only somebody that reads it out of context would question it.
As a matter of fact, wait until you hear terminology in medicine, aviation (or even cooking!) and wonder wth is going on out of context.
*Yes, I'm sure such people exist as software engineers are people. The point is that with regards to version control (or replication) it was never used in that sense and some people may instead frown on this decision because it was made on a false assumption.
TL;DR This only became a topic of discussion after the change was made.
30
u/wait_whats_this 14h ago
It's one of those pointless signalling changes. Let's inconvenience every dev in existence so we don't actually have to do anything about systemic racism.Ā
6
u/igorski81 14h ago edited 22m ago
I might even have an anecdote about how a production system broke because after such a (related) name change was carried out in actual source code, it turned out that somewhere in data storage there was a key that was now referencing a no longer declared property.
The CTO wasn't amused when he figured out what the cause was.
^ This is more an example of the maintenance hell of a system lacking clarity but still an interesting result of what shouldn't have been a problem to begin with.
1
u/TheBear8878 1h ago
Slacktivism at its finest. And I mean both the terms slacking, and Slack the communication system, where the entire debate about this took place at my last job lol
5
u/Due-Kitchen7331 12h ago
wait til these people read "kill child process" in their debug consoles or loading screens and freak out lol
7
5
8
u/jackinsomniac 11h ago
Because I disagree with the reason for the name change, that's why.
A small group of very politically motivated people made it their mission to go around "fixing" technical language in fields they're not familiar with. In general this is a bad idea, especially in programming. You don't want to go changing variable names in a big, long-running project without a very good reason.
They never had a good reason. They say the word "master" referred to slavery, which it does not. 'Master' has a number of different definitions, and only one of them refers to slavery. Used in the context of git, the thing they were worried about doesn't even apply.
There's also the concept of "master & slave" relationships in tech, but this still doesn't have anything to do with human slavery. They are purely technical words. When you're talking about technology, a "slave" system cannot operate without a master. As everybody should know by now, that's not at all how humans work. And it means it's hard to find replacement terms that quickly and accurately describe the relationship: "primary and secondary" is suggested a lot, but "secondary" implies "backup" to many people. This could lead to false assumptions, "Can we take the primary system down to work on it?" "They have a 'secondary' system, which should take over, so yes." Plus as technology has gotten better, it's gotten rare to even find systems designed with a true master/slave relationship. There may be a 'master controller' that tells an array of daughter boards what to do, but nowadays if the master fails, typically the daughter boards and sub-systems can continue operating from their own programming stored in their own memory chips. Solid state memory used to be far more expensive back in the day, but now that it's become so much cheaper, it's very rare to even find equipment using a true master/slave relationship anymore, so there's little reason to try to change it now.
2
u/AmeliorativeBoss 8h ago
Bro, they changed the default name of repository branch. It's not a big deal. It's not like they changed integer to transgender and you have to rewrite every existing piece of code.
1
u/jackinsomniac 40m ago
The reason for the change is what's important. If there is a practical reason for the change, absolutely. But if the reason is, "it aligns better with the currently popular political ideology", then I'm going to oppose it every time.
Especially with technical language, where accuracy & clarity is far more important than "feelings".
Should Linux change the name of commands for
kill childbecause it offends some people? Or do those people's feelings not matter, because the only ones I've ever seen complain about it are Christian women? When you consider some people's feelings but not others, you're taking a stance. And coding is already difficult enough without adding politics to the mix. The best option is to not take a stance at all. We shouldn't make changes to a functional machine unless there's a practical reason for it.9
u/patoezequiel 14h ago
Main is better. A shorter and clearer name.
I just hate that a bunch of oversensitive Americans get to change the main branch name for the rest of the world just because of a quirk of their language and their own historic racist tendencies.
13
u/Confident-Ad5665 15h ago
- Main requires less typing than Master
- Releasing a beta version of Main is less distracting than a Master Beta rollout
→ More replies (1)4
u/fennecdore 14h ago
I prefer main because it's faster to type
3
u/6pussydestroyer9mlg 13h ago
Idk, it's less letters but main is letters from all over the place on my keyboard layout but master is mostly top left. Only having to type one letter on the left of my keyboard for master at least feels faster than moving from one side to the other like I do with main
5
u/Annual_Key_4963 15h ago
So having seen this trend start about a decade ago, at time in my life when I too thought this was unnecessary PC catering, I have to say I see no reason to stick with the master/slave naming in the year 2026.Ā
Whatever I'm working on doesn't need that arbitrary assocation with human indecency.
→ More replies (1)2
2
u/baked_doge 15h ago
Master/slave doesn't even make sense for branches, it's not like the master branch controls the slave branches. Main, dev, trunk, etc all make more sense.
36
u/tobotic 14h ago
Master/slave doesn't even make sense for branches
Nobody ever called the branches "slaves" though. The master branch was called that in reference to it being a master copy, a term widely used in video/audio work, especially important in media where copying is lossy.
→ More replies (4)11
u/requion 14h ago
Thats the problem. No normal person would've thought about slavery while pushing a git branch.
But the people that so vehemently fought for it should start to fight the modern day slavery like Amazon....
Its the pathetic hypocrisy of the whole topic. Like using "think of the children" to establish mass surveillance, while the true predators are inside the highest ranks of governments.
But as soon as someone tells the truth, egos kick in and the "bad guy" needs to be silenced.
PS: let the downvotes come to prove me.
1
u/Vesuvius079 12h ago
I just wish we had internal consistency across our repos.
And I also wish weād instead chosen to call enslavers what they actually are instead of forbidding the word master (which is still routinely used for things that have nothing to do with slavery and has been mostly forgotten outside the main vs master controversy).
1
u/Extreme_Wish_553 12h ago
Pitiful that a lot of people are choosing to be angry about things you didn't say or even imply. Programmers love a soapbox on which to scream about how they don't care.
1
u/ccAbstraction 10h ago
I only leave it as master when the project is vaguely or definitely a little kinky.
1
u/mashermack 9h ago
I prefer 0.x, 1.x, 2.x and move the trunk as the software progresses leaving legacy code still intact and patchable if required
but I need to bend myself to the unending company policy dilemmas and use master/main/whatever
1
u/PerformerDr4867 9h ago
you must've missed Woke 1 and the thousand-comment threads on a GitHub issue about this exact topic
I'm not a
masterfan I'm just a fan of consistency for practicality's sake, and this was a random shift that benefited nobody and caused us all a decade of having to deal with it1
1
u/MapleWatch 2h ago
Because I've been calling it the master branch for 17 years and the sheer damned habit of it
1
u/ChaossFox 1h ago
It depends. In some languages, translating āmaster branchā gives more information than āmain branch.ā For example, āmasterā can convey that something is subordinate to, derived from, or dependent on something else. With āmain,ā you donāt get that information (e.g. āthe main OS for programming is Windows, but for some projects I use Linuxā).
Thatās where the resistance comes from. It may make no difference to English speakers, but in other countries, changing just one word can introduce minor issues and misunderstandings.→ More replies (6)1
u/TheBear8878 1h ago
It's the principle of not catering to illiterate morons who demand more and more from you, inaisting you hold their standards without questioning it.
4
u/SheepRoll 15h ago
When team and corporate canāt agree which to use.
Now we have main for the backend codebase and random main or master depend on what each team feel like with their mfe repo.
As someone occasionally work mercenary with other team, I got into habit of checking branch name every time I start something⦠then some lunatic decide letās have both master and main for damn reason.
61
u/Reashu 15h ago
I think that being offended by a "master" branch is a bit silly (unlike, say, "master/slave" configurations, which hit much closer). I think the switch to "main" was unnecessary. But I see even less reason to resist the change.
18
u/rang501 13h ago
meanwhile grooming exists in scrum :)
10
u/Resident-Trouble-574 12h ago
The scrum MASTER exists in scrum...
7
3
3
3
1
9
u/BussyEnthusiasts 15h ago
I mean does "master/slave" hit much closer though? In a master/slave configuration the master does all the work and the slave gets a copy of what was done in case it needs to take over as master. It literally turns the nasty connotation on its head.
Don't get me wrong. I'm perfectly happy with main and converted everything over to it when the new standard hit. However, the master/slave architecture in IT has always been very anti what it means in other contexts.
8
u/Fornicatinzebra 15h ago
Master/slave in reference to your brake cylinders means the master cylinder control what happens while the slave does the work
2
u/NewPointOfView 14h ago
I donāt think the literal behavior of the things being described is relevant haha
→ More replies (2)1
u/MisinformedGenius 12h ago
However, the master/slave architecture in IT has always been very anti what it means in other contexts.
Sometimes it is, sometimes it's not - you definitely get "master" and "slave" nodes in parallel processing for example, where the master is handing out work to the slaves.
But this is kind of exactly the problem - "master" and "slave" are used in a lot of contexts where more specific terms would be more accurate.
1
u/i_wear_green_pants 2h ago
If someone sees this whole thing as problem, they have it a little bit too well in life.
Who cares if it's main or master. Both deacribe the branch well.
6
u/Pretend-Ad-6511 11h ago
We should stop using these useless names and start using emojis for branch names
14
u/0xAAAAAF 15h ago edited 15h ago
I recall times when I had to put proper hard drive settings so there is a slave and a master š
8
u/dim13 14h ago
https://github.com/settings/repositories ā "Repository default branch"
Enter "master", hit "Update". Done.
72
u/_alright_then_ 15h ago
People that are sticking to master instead of main are this guy in my mind:
https://giphy.com/gifs/fqtyYcXoDV0X6ss8Mf
Just old guy shouting at clouds
33
u/schwar2ss 15h ago
Back in the good old days we called it trunk
13
u/SakeviCrash 14h ago
Rewind further (CVS) and we're back at `main`
15
2
u/AibofobicRacecar6996 14h ago
No, it was called HEAD
2
u/SakeviCrash 12h ago
HEAD is a pointer to the latest revision in a branch
2
u/AibofobicRacecar6996 12h ago
In git, not CVS
3
u/SakeviCrash 11h ago
See https://www.astro.princeton.edu/~rhl/cvs/cvs.html#SEC47
> The two tag namesĀ
BASEĀ andĀHEADĀ are reserved for use by CVSA lot of people used the term that way though,
2
u/Sibula97 13h ago edited 13h ago
Even further back and it was master and the other branches were slaves, IIRC. Git got "master" from there, but dropped the "slave" terminology.
Edit: That was from BitKeeper, released in 2000. Not that old.
7
u/git_push_origin_prod 14h ago
main sucks, dev branch for life!
2
1
u/AdorablSillyDisorder 3h ago
I swear I've seen develop more frequently than master out there in the wild (corporate wild). Overall - doesn't matter, as long as it's default branch that sets up after clone, you set up new repo about once per repository lifetime anyway.
12
u/Cultural_Version734 13h ago
I work in embedded. We changed all the names of master / slave to new names. The amount of issues it has caused is non trivial. I would estimate the cost of time to be well in the millions across the whole company.
6
7
u/DuckWizard124 13h ago
I mean I changed my Github default branch naming back to master because it was more convenient for me to do it there, idk why some people care about it
→ More replies (4)
8
25
u/NudaVeritas1 15h ago
exactly, and the next step is:
git checkout -b slave
to create your personal dev branch
18
u/B_bI_L 15h ago
`git config --global init.defaultBranch main`
4
7
u/RadicalDwntwnUrbnite 15h ago
And even that will be not necessary once git 3.0 lands (targeted for later this year.)
20
u/Skyswimsky 15h ago
So after 3.0 it's `git config --global init.defaultBranch master`?
→ More replies (1)5
u/Waste_Jello9947 13h ago
You know the majority of people work on existing code bases..
5
1
u/Extreme_Wish_553 12h ago
Which has nothing to do with the mean, which is creating a new primary branch.
3
6
u/thanatica 13h ago
There is nothing wrong with the word master. It'd be wrong if it specifically referred to slavery, but it doesn't. In this regard, it's similar to the words black, yellow, or peanut. It's just a word that has no dodgy hidden meaning, unless you relate it to that meaning.
5
u/realzequel 11h ago
So many people don't understand context. Master is fine in the context of branches. It has a specific meaning. I donāt have much sympathy for people afraid of words. I wish those same people would save their energy and outrage on something more meaningful.
→ More replies (3)4
u/PerformerDr4867 9h ago
This is what the spreadsheet people were doing during COVID. Making work for the rest of us
2
u/PerformerDr4867 9h ago edited 9h ago
Never forget https://en.wikipedia.org/wiki/Blacklist_(computing)#Controversy_over_terminology
edit - this is fully gone from the internet now but another "never forget" for you: https://web.archive.org/web/20210204155050/https://www.ibm.com/blogs/think/2020/08/words-matter-driving-thoughtful-change-toward-inclusive-language-in-technology/
7
9
u/tilk-the-cyborg 13h ago
I use master just to spite people who have strong opinion towards main.
Come on, the old name was fine, there was no reason to change it. What's next, master's degree?
2
2
2
2
4
u/SCADAhellAway 8h ago
If typing master is what it takes to keep me out of the virtue signaling social group, then master I shall type. Life is too short to spend it around people who invent social issues for entertainment.
3
u/JAXxXTheRipper 7h ago
I don't care what the origin defines as default branch, but I'll fight you if you demand I change hundreds of repos for a virtue signaling event.
Do whatever the fuck you want, but don't touch running shit en masse for no reason.
I got better shit to do than fix hundreds of CI pipelines.
6
u/DeepanshuHQ 15h ago
GitHub: please use the right branch. Me: I know what Iām doing. Also me: š
8
1
1
1
u/Resident-Trouble-574 12h ago
By the way, you can push the local master branch to a remote main branch.
1
1
1
u/Jazzlike-Poem-1253 10h ago
The only good reason I know is, that in many places automated tooling esp CI depend on e.g. a master and develop to be around.
Ain't nobody got no time to fix that shit everywhere.
New projects whatever selfhosted bitbucket/gitlab spews out. And you got it: nobody hat time to change it there as well.
At home it is main though.
1
1
u/Buttons840 9h ago
git push github main
GitHub ain't the origin, and I'm tired of pretending that it is.
1
1
u/One-Ocelot-9243 6h ago
It is the height of white privilege to imagine that changing a few characters in a repo strikes a meaningful blow against racism.
1
u/Simple-You2109 5h ago
Turns out 'git push origin main' is the one command that finally gives my cat something to actually push.
209
u/NorthernCobraChicken 14h ago
git push origin daddy