I don’t care which one you use, just don’t change it once it’s established. So many legacy Yocto projects got broken cause open source libraries changed their branch names.
Just use
main
. I’m not bothered by either, but I’m not in the demographic that would be bothered bymaster
, so I usemain
and STFU. It takes way less effort to switch tomain
(if you haven’t already) than to come up with all this rhetoric about whymaster
shouldn’t trigger people.I would argue that it’s best/easiest to leave existing projects on master, and just use main for new ones. Either way I agree, people arw reactionary af about this issue
If it uses
master
and it’s too much trouble to get people to switch. It staysmaster
until we can coordinate.If I’m starting a new project I use
main
.Why?
It doesn’t take much to do and it avoids any misunderstandings or arguments and we’ve got work to do. I don’t particular care if you guys are “stuck” on
master
. If that’s what it is and everyone wants to keep it that way, I don’t have enough will to change it. If it’s under my control, I will change it.Develop
Release
No one messes with release for the “final” merge?
After that… Main.
main-master, with all branches being non-main masters. No slaves in my neighborhood.
Last place of employment had
develop
as the default branch. Actually quite liked it. (There also was a main branch, which only got merged into as part of the release flow, so might as well have called itrelease
, I suppose).Anyway, IMO it communicated “volatile and subject to change” a lot more clearly than things like “head of main” etc
The pro versions: dev, rls
Main.
Don’t get me wrong, the whole debate is Microsoft just being performative (why not use your vast wealth to actually help people?). But honestly, putting the debate aside, “main” is just a clearer and more intuitive name.
I think it’s the same with blacklist/whitelist -> blocklist/allowlist.
Itallowlist/blocklist actually says what it does in the name without using the idea of racism and white supremacy. I wish more software would just use these terms by default. (maybe some aliases for the old names)The problem is that “master” means several things. There is Masters degree, master sword, master blacksmith, master copy, all of which have absolutely nothing to do with master / slave.
The Git “master” terminology came from “master copy”. There’s an email thread online where someone asked Linus Torvalds the origin and this is what he said.
The whole thing about it being about master / slave was some random uneducated person guessing, and they were wrong.
I agree that main is simpler and clearer, but it has nothing to do with racism.
Clarification: the “it” in the second sentence was referring to “blocklist/allowlist” specifically, not “main”
Of course the name “master” in the git context may mean something completely different from slavery or similar, but the possibility of misinterpretation is IMO another (maybe small) reason that new projects should consider using the clear and unambiguous “main” instead of “master”.
It actually says what it does in the name without using the idea of racism and white supremacy.
The origin of the words blacklist and whitelist doesn’t have anything to do with racism. If someone looks around and only sees racism, then who is the racist?
Even if the word’s origins aren’t racism, I hope you can see why having a blacklist with “bad” things on it that won’t be allowed and a whitelist with “good” things that are allowed maybe isn’t the friendliest terminology. (especially when there are more intuitive names available that avoid this problem)
No gods no master branches
Nae king! Nae quin! Nae laird! Nae master!
Let’s call it the kelda branch!
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.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
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 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.
I find “master” offensive, so I make sure I main bate instead.
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.
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.
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.
All the people defending master-slave terminology in the comments 💀💀💀
Look it up, it was used in Bitkeeper that way iirc
I’m naming my production branch
goshujin-sama
ma<tab>
*tabs Fedora*
dom