Trunk
I too am working on a repo that predates git.
Locking comments. Had a good run, over half a day, but this was always headed for an emotional train wreck.
Using master is stupid. Is your branch in charge of others? Is it more skilled than your other branches? Software engineering has too many crusty dorks that stick to their paradigms like it’s their religion. Acting like it’s their heritage to use outdated terms but also it doesn’t matter so that’s why they’ll keep using it.
Calling an original, analogue recording a master does make sense, as all copies of it will by nature be of a lesser quality. This isn’t the case for git branches tho.
I don’t think the word “master” is indicating quality though, just that it’s the “source” or “basis”
The name have nothing to do with being in charge of others, skill level, or anything, but, sure.
It’s a retroactive bastardization of the word based on one particular culture’s one particular interpretation of it (master being, apparently, a slaveowner) that ignores both the much earlier meanings of master artisan or master craftsman (as opposed to journeyman and apprentice) and masterpiece (through which an artisan is recognised as a master), and the modern meaning of a master copy (like a master record in disc printing).
This isn’t like replacing the “master and slave” terminology with regard to connected devices. That one was warranted because it was often inaccurate and confusing. But forcing the adoption of main instead of master feels like someone got offended on someone else’s behalf because a word looked superficially like that other bad word, and apparently we can’t have an understanding that goes deeper than what letters it’s made up of.
Amerika ist wunderbar. This is an
--initial-branch=master
household.regardless of that, it’s never inconvenienced me and it’s still a net gain in readability, since
main
actually means what it means. have my shell scripts set up to use either one for any repo I’m in automatically.Honestly it’s not even about convenience. As far as breaking conventions go, this one has none-to-minimal impact – existing
master
branches won’t suddenly become invalid. But it’s yet another instance of a subset of a subset of a subset of users getting to enforce their sensibilities for superficial reasons, and ultimately with zero effect regarding the cause they claim to represent; cultural and linguistic differences be damned.I’d love to be more specific, but I don’t want the comments to turn into a warzone.
And don’t pretend like master doesn’t mean what it means.
Claiming that
master
on github stems from master recordings is not only disingenuous but also incorrect.As a FOSS alternative to BitKeeper, Git naturally reimplemented it’s naming conventions as well - and because of the power of version control - we can actually check what the original meaning was derived from:
And yes I agree that GitHub just changing the name of the default branch while keeping their ICE contracts is performative as fuck - which imo means we should both boycott GitHub and use naming conventions that don’t have a history related to one of the worst atrocities the global north has brought upon the world…
I concede the point about the word’s origin… not that I’ve seen anyone ever refer to a branch as a “slave”, nor do I think that it’s appropriate given that the branches are not subservient to the trunk/master/main/etc until one is merged into or rebased onto the other…
I also wrote a whole-ass speech about the modern world’s relation to the Atlantic slave trade and the guilt certain people are trying to inflict on everyone, but I know what the replies will be (we’re just redditors by another name after all) and it’s ultimately not a soapbox worth dying on. Anyway, my thesis is study history, learn its injustices, and learn how to do better effectively.
People: hey you should think about this a bit and consider changing it to have a small positive impact
You: 🤬
Nobody’s forcing you to, nobody’s yelling at you, if you don’t do it it’s not a massive deal, you’re just yelling at clouds. Actually that’s not entirely true; I’m yelling at you because of your absurd overreaction to the mere idea of being a little thoughtful.
I don’t know if you got it from media, or you heard about this movement and for some reason immediately jumped to “they’re forcing us!”, but you really need to do some self reflection on why you got it so wrong and why you were so quick to do this outburst.
At some point needlessly banning words just empowers bigots by letting them claim larger and larger parts of the vocabulary. Shouldn’t we try to reclaim words instead, and deprive the words of their power? Just “banning” words, especially in cases such as this one when the connection to master/slave is pretty weak, actually increases the negative power of the words and I’d argue empowers people with malicious intent
YES, BASED
IN THIS HOUSE WE COMMIT TO MASTER
This isn’t like replacing the “master and slave” terminology
I struggle with SPI (serial peripheral interface). Two of the pins are MOSI/MISO (master-out-slave-in and vice versa). There are some alternative namings, but this one seems especially ingrained in embedded dev
I can work with either, but I cannot and will not forgive any deliberate changes from main to master.
If you have a main and a master branch in the same repo and you don’t delete one at the very start of the project, God has abandoned the living bcz we’re lost and he has forsaken all that is good in the world.
I didn’t mean both simultaneously in the same project, lol.
Naming my branches like I name my word documents: master, main, main2, main2_FINAL, main_master, main_master_main, master_SUBMITTED, master_REVISED, master_REVISED_main_FINAL2,…
You monster! There are children here!
This one, officer, this one right here.
Master_blaster
I did that once… Because a script I worked with was hardcoded for it and was distributed as a binary…
deleted by creator
canon
Love it 😆
“Obey your master! Master!”
Imagine darth vader calling palpatine main
Obey your main
I personally don’t think the word “master” should be considered offensive - my wife has a master’s degree in deaf education - but I’ve switched to “main” because that seems to be the convention now and it really doesn’t have to be an issue.
There’s no “slave” convention in git so I’m not sure how it can be considered an issue (I get that drives being master and slave is a bit icky). But then, what is it a master of?
As others have said, “trunk” would have been a more sensible replacement.
But then, what is it a master of?
It’s about master copy. You have a master copy, and you have the development copies that are a copy of the master which is where you make your changes.
If i had to guess, the problem is that people don’t know how to use git and develop in the master
It’s a master the same way that an original recording (the final version before mass reproduction) is called a master; mixing and processing the raw media clips into such a recording is called mastering. It’s a convention that has existed long before computers were a thing.
On my app, tapping the image makes it full screen. I had to figure out how to get to the raw Markdown of the post and go from there.
For those who come after: https://slrpnk.net/comment/16864626
There’s an actual response to the issue at hand in that link; man didn’t just decide to drop a meme and peace out (though I probably would’ve assumed that was the case if it wasn’t for the edit)
Honest question. I cannot see if you are being serious here. If this is a real thing, is it because of US slavery history? No way you are saying your wife has a main degree in deaf education?
No, I said I don’t think the word “master” is inherently offensive - after all, my wife has a master’s degree. But to answer OP’s question, I’ve switched to “main” as my git branch because that seems to be the new convention.
I find “master” offensive, so I make sure I main bate instead.
Whatever the repo is setup with.
main
in the streets,master
in the sheetsMommy.
MOAB (mother of all branches)
fork mommy
git checkout mommy
about to start using mommy for all my projects now
Checkout Mommy
Master. I find this out of context fight against words pathetic.
My scrum master said that we need new tickets to update the git branches and pipelines to use main instead of master since master was a bad word.
I asked him what his job title was again and there was a pause.
Then he said we can’t say that we are going to groom the code base anymore.
If we are not grooming the codebase, are we then waxing it?
Or is it more eco-friendly to let the codebase grow wild and untrimmed?
I’m gonna go ahead and assume your scrum main doesn’t groom themselves.
Switch from your scrum main to your scrum alt.
Why master? main is much clearer
Because it is a historically settled down terminology that everyone understands and there is no adequate reason to change it.
everyone understands
no, new people learn git every day.
‘main’ is much clearer. It’s maybe not the same readability gain as ‘blocklist/allowlist’ over ‘blacklist/whitelist’, but it’s still there.
Why not change “walkie talkie” to “radio phone”? It is so much cleaner.
Because change for the sake of change always brings more work than what it saves.
Why change something that works and everyone recognizes it? Of course, if this debate was there when the standard was created…
Why main? m is much clearer
we should make the empty string the name for the default branch
I know someone with a master’s degree from university.
Well, he cut me a golden master copy of the track, anyway.
“I main in science degree of Evolutionary Biology” has a weird ring to it.
I main Evolutionary Biology and have alts in Chemistry and Anatomy.
I kinda unironically dig this.
Nice
I agree that it’s pathetic. I’ve never been a fan of virtue signaling.
In the other hand, “main” is easier to type than “master” (or “trunk,” for that matter). So I’ve made peace with it.
Trunk would be better because of all the branches.
live / staging / dev
master
I grew up with master, and main just feels weird.
The default branch for some projects is “production” since CD deploys on pushing to that branch
For new projects, main. My thought is that even if master is not offensive, since the industry has generally made the change, the only reason to stick with master is stubbornness or hating political correctness, neither of which aligns with my self-view so I’ll use main and move on.
In general if people are genuinely hurt by the use of some words, I’m not sadistic so I’ll avoid using them. From my perspective morality is the pursuit of the reduction of suffering, even if that suffering is internal.
It kills me that this take is so hard to find online.
Did I think calling the main branch “master” was offensive before this controversy? No, I’d never even considered it.
Does switching to calling it “main” impact me, like… at all? Also no. It’s like the lowest effort change to make.
If I can make my industry more welcoming to a more diverse group of people, that is a solid victory and way more important than the name of my primary git branch.
I mean, the problem people have with it isn’t a name change or improving inclusivity. It’s the fact that they feel like they are being bullied into doing something they had no input into in the name of inclusivity. What pisses people off is how, as soon as someone says “x” isn’t maximally inclusive of some marginalized group, everyone has to change or else get called a categorically bad person.
For example, suppose you have a red hat that you enjoy wearing. You got it at wafflefest a decade ago, and it says “I <3 Waffles”. Then one day, your boss sends out an email that no more red hats are allowed in the office because it might create an unwelcoming environment. You will, of course, be pissed off. Not because you can’t wear your waffle hat anymore, but because your boss feels entitled to control the minutiae of you life like this. You’ll think to yourself “fuck that guy, and fuck whoever brought up banning red hats in some corporate board room 1000 miles away. This is bullshit!”
People like their autonomy, and don’t like being controlled. Doesn’t matter if it is in the name of increased corporate profits, or inclusivity, or saving the bees, or dying of lung cancer. They don’t care about the name of their git branch - they care that they feel like they are being forced to change it.
That analogy doesn’t really apply though. The decision to change master to main was a collective one, not made by “some corporate board room 1000 miles away”. It may feel like that’s how it went down because you only noticed when GitHub changed their defaults or whatever, but that decision was not made in a vacuum, it was the result of lots of people saying “hey, this is a problem, let’s fix it” for a long time before any actions were taken.
No one is offended by that word, at some point we need to stop wasting time on pointless debates and move on. If I start tweeting that I find “main” offensive are we going to have to find another name?
Don’t forget laziness. I have some projects that have been around forever and I am not changing it across my infra because I am lazy. I will do it next year…
Do you have any evidence that “the industry” has made the change? My personal experience says the opposite. Unless you mean “new repositories use the new default name” which says more about people simply not caring rather than anything else.
In general if people are genuinely hurt by the use of some words, I’m not sadistic so I’ll avoid using them
That’s a sane position. Only issue is that this have nothing to do with the question, and the people that were the most vocal about this issue had no business talking about it in the first place.
Ultimately, git is flexible; beyond some potential local and shared automation, anyone can call their local branches however they want, regardless of other and servers. Personally, changing years of habits and tooling (that probably should not have hardcoded some names in the first place) is not worth following a change proposed by misled people.