So creating a new repo on GitHub, you get a set of getting started steps. They changed the default branchname to “main” from “master” due to its connotations with slavery.
When I create a new repo now, the initial getting started steps recommend creating a branch named “master” as opposed to “main” as it was a while ago.
It’s especially weird since the line git branch -M master
is completely unnecessary, since git init
still sets you up with a “master” branch.
Disclaimer: I have a bunch of private repos, and my default branchnames are pretty much all “master”.
Is this a recent change?
Edit: Mystery solved, my default branchname is “master”. Thanks bamboo@lemmy.blahaj.zone !
Main is more concise and less problematic. A win all around.
is it though?
I treat the master branch as the master record. it’s the branch all other branches are made from.
calling it main is overly generic. main to what? the repo? the main feature being worked on? are there multiple mains like in mains voltages?
master seems far more concise. when you think of it like a stateful record.
plus all my pipelines are configured to use master. I would have to rewrite 70+ pipelines just to convert to main.
not worth it.
It’s just a word at the end of the day. To me “main” is literally a shorter word that means the same thing in my brain. It could be “trunk” or “release” or whatever else you’d like. “master” makes some people uneasy, so it seems like a simple solution to pick a different word.
The development community talked, informally settled on main, and here we are. Anecdotally it took me more time to write this than to switch most of my projects over. I use GitHub actions and a simple find/replace for a word not otherwise commonly used was the ticket.
I really don’t care what other people use at the end of the day. Discussing version control and branching strategies drains my life away. If it is difficult to switch, don’t, but if you start a new repo it is worth thinking about for a moment.
so which is it?
if it’s just a word then it shouldn’t matter if “master” is used.
if you don’t care, then keeping “master” in use won’t bother you.
why should I think about it? you said it doesn’t matter and you don’t care.
regardless, I’ll keep using master because its a master record. not a trunk, not a main, and why would anyone call their branch a “release”? wouldn’t that get confusing when you do actual releases or tagging?
You seem like a delightful person to work with. I’m just saying be pragmatic and maybe try not to be a dick about it?
The only statement in your ridiculous rant that has any validity is that of your legacy pipeline configurations. But pipelines need to be updated and validated semi-regularly and should be generalized to begin with, so it’s not really any good point that your legacy pipelines cannot handle a default branch name change like modern pipelines should.
Swap main and master in your comment and it reads the exact same with all the same shallow justifications.
Thanks! It sure makes me want to have a civil discussion with someone who belittles my opinion and reduces it by calling it a “rant”.
I’ll extend you the same courtesy as you have me.
Not if you’re doing it right. sad shitty devs hack together pipelines that require constant maintenance. I’ve got pipelines that have worked flawlessly for over 7 years yet other projects I don’t own are constantly running into problems deploying because their pipelines were “configured for last release”.
Wrong again. Pipelines do the thing they are supposed to do and do it extremely well. are you sure you know what you’re talking about?
yeah fuck me for creating a pipeline for each of my environments that have dedicated branches. fuck me for setting a standard and adhering to that standard.
if you need to switch your branch on your pipeline regularly you’re not following proper branching strategies.
you may be right, but the same could be said for literally any comparative opinion.
lmao nothing you’ve said has anything to do with “Main is more concise and less problematic”. Just because you created more work for yourself by having 70+ pipelines that need to be rewritten for a branch name change doesn’t mean it’s less concise or more problematic. It means you messed up by not having a pipeline capable of such a basic feature – generalized targets with a separation of concerns. Standards change, requirements change, so do build pipelines. Being stubborn is not a reason against changing colloquial terms out of respect and growth in understanding.
colloquial terms? these are terms that describe technical standards that have likely been around longer than you’ve been alive.
Imagine if your doctor one day said you have rectumbabados instead of colorectal cancer because the word “cancer” is too triggering.
that’s the problem with young inexperienced devs these days. they just don’t get it. standards aren’t meant to change. standards are meant to adapt and evolve. forcing a frivolous name change on a branching strategy all for corporate to check their “social responsibility” checkbox is not evolving. it’s not adapting. it’s corporate grandstanding and literally is meaningless. like Target saying they support LGBTQ+ and then yanking all DEI support.
I maintain enterprise solutions. I hold myself to a higher standard than you might and have proven my worth through consistent delivery. my builds take minutes. my deployments take minutes. my counterparts take an hour or more to build and deploy. if I were to do whatever the fuck you’re doing I would be out of a job.
get some real experience before you go hotdogging with that tiny wiener you call expertise.
Again, you’re conflating your own stubbornness with correctness and that just ain’t how it goes. Branch names are frivolous. So much so that changing the strategy or retargeting a branch one time shouldn’t be such a nightmare for your pipelines that you have to pretend like you’re the big dick on campus spouting accomplishments when someone mildly suggests there’s a mistake in your thinking. Look inward if you’re so upset by this that you have to make up irrelevant insults in a vague attempt to protect your own ego, then go fix your pipelines to make it easier to do for the next person after you’re gone.