Git 3.0 will use main as the default branch

(thoughtbot.com)

71 points | by ingve 7 hours ago

19 comments

  • yunruse 2 hours ago
    I prefer to default to `develop` and then eventually branch out to `release`: that way my branch names are pretty explicit. It seemed silly to me to start with a "central" branch, no matter the wording, because that's not actually how Git works (and it's rather uninformative).

    For... some in the comment section, please recall the HN guideline: "Comments should get more thoughtful and substantive, not less, as a topic gets more divisive."

    • kiicia 2 hours ago
      I remember when default branch was simply `trunk`, but maybe that was in SVN not git… trunk goes well with branches, maybe git should stick (heh) to it
      • pjbk 39 minutes ago
        Which for some of us, Spanish speakers, was on occasion amusing or lewd, depending on the context and culture. The Spanish equivalent is 'tronco' which is very similar and it is slang for a couple of things.
    • orphea 1 hour ago
      It's not silly at all, there are multiple ways how you can version your changes in git.
  • moomin 6 hours ago
    Honest to God not something I care about but: this is pretty much the nail in the coffin for “master”. I do know some people _did_ care about the name. Sometimes surprisingly senior people who never supported a tech upgrade want the name changed. In any event, it’s done, “main” won, it’s fine, let’s move on.
    • matt-attack 6 hours ago
      Maybe they resisted because it was completely ridiculous waste of engineering resources all over the country and for absolutely no tangible reason other than white people trying to feel better about themselves.

      I work in the field of film mastering (with countless product names with the word “master” in it) and luckily no one got the ridiculous idea in their head that we need to change this lingo.

      Show me a single person who has a valid reason for me not calling my branch “master” or my bedroom “the master”. I honestly think this sort of ridiculing word policing is why we lost this last damned election. And if you’re somehow proud that you’ve renamed your git branches, you’re very likely a contributor to that lost election.

      • AdhemarVandamme 4 hours ago
        In Microsoft v. AT&T, decision 550 US 437 (2007), there was discussion about a golden disk, and the terminology changed to master disk during the course of the proceedings, because the disk wasn’t actually made of gold.

        I remember that Justice Antonin Scalia objected: “I hope we can continue calling it the golden disk. It has a certain Scheherazade quality that really adds a lot of interest to this case.”

        <https://www.supremecourt.gov/oral_arguments/argument_transcr...>

        • em-bee 3 hours ago
          what, the golden ratio is not made of gold? have we been betrayed all this time?
      • fuckinpuppers 4 hours ago
        Yeah, I mean, isn’t a masters degree even worse, then?
        • em-bee 3 hours ago
          a masters degree is about mastery, not about being central/main/leading...
      • fastasucan 39 minutes ago
        I dont know, for me main makes more sense so I prefer main. The main branch isn't master of anything, but its the main branch.
        • thunky 23 minutes ago
          > The main branch isn't master of anything

          It's master as in "master copy":

          A "master copy" is an original version of a work from which other copies are made, serving as the definitive or controlling version

      • Gibbon1 4 hours ago
        This stuff reminds me of what my mother said about feminists trying to get people to spell women with a y. She didn't like it because it made feminism seem like something petty and frivolous.

        If I put my tin foil hat on it feels like a psyops to make the left look like a bunch of morons.

      • patchymcnoodles 5 hours ago
        That "waste" of resources was absolutely tiny. Took me just some minutes. And I didn't do it because of DEI, just because I think it's a better name.
        • kstrauser 1 hour ago
          Same for me, but kind of because of DEI. Basically, it offended some people, and even if I thought it was a little overblown, it took about 2 minutes to change the default name of future repos to be something else (which was at least as good, and perhaps better). It made some people happier at approximately zero cost to myself, so why not.
      • p0w3n3d 5 hours ago
        Every time I push to master I get this song in my head

          Master! Master! 
        
        Every time I push to main I have in my head:

          ...meh
      • lucyjojo 2 hours ago
        you can call your branch whatever name you want. nobody cares, nobody is stopping you.
      • dzhiurgis 5 hours ago
        Makes sense when you release 3.0 and basically allowed to introduce breaking changes.

        In tech field there's lots of people living on the very fringes of society, hidden away behind keyboard.

      • atoav 5 hours ago
        I actually worked in film audio engineering and Master is not the universally used term and hasn't been used uniformly throughout history. I have an analog Mackie mixer from the 2000s with "Main" as the name of the Main Bus that was designed before the whole debate took part.

        As far as software goes, things are similar. The process of "Mastering" is an exception.

        As far as git branches go, I am fine with main. It has two advantages over master aside from any culturual questions:

        1. main is more self-explanatory for beginners who don't know how "master" was/is used in tech.

        2. it is shorter. While two letters don't make a huge difference, that is still a subtile advantage.

        Whether these two points alone are enough to justify the needed work (which is probably not a lot to be honest), IDK.

      • StopDisinfo910 1 hour ago
        > Maybe they resisted because it was completely ridiculous waste of engineering resources all over the country and for absolutely no tangible reason other than white people trying to feel better about themselves.

        I think the resisting probably wasted more time than anything else.

        We used the occasion to ensure that there was no hardcoded naming in our IaC, internal tooling and CI/CD. It was surprinsingly easy, gave us a great excuse to do some much needed clean up and now everything can work with any branch used as the main one.

        Was it extremely important? Probably not. Was it worth fighting against/having a stong opinion about? Probably not either.

        Sometimes, it's easier to just go with the flow and try to turn things which seem meaningless into actual improvements. If it makes the people who think it's not meaningless feel better, well, even better. It surely didn't cost me much.

      • input_sh 5 hours ago
        That "waste of resources" is completely made up, this changes nothing for any existing repo what so ever. Any existing repo that updated did so completely voluntarily, no tool forced them to.

        At most you could argue that you needed to run one additional command when pushing the initial commit during this transitional period where GitLab/GitHub had updated the name but Git itself has not. Therefore, now we're back to square one with less "waste" as you put it.

    • matheusmoreira 5 hours ago
      Not at all. This is just about defaults. People can still choose arbitrary branch names. People can still set the default branch name, as I have:

        [init]
            defaultBranch = master
      
      I just think "master" is an awesome word. Master record. Mastering. It just sounds cool to me and I'm gonna keep using it.

      I also think "main" is a stupid word that doesn't say much about anything. I even hate "main" functions.

      • unwind 4 hours ago
        Tip: the next time you need to name a function, don't use "a stupid word that doesn't say much about anything". That's not how you're supposed to name stuff in programming. :)
        • marginalia_nu 3 hours ago
          In that case, I think 'git' is probably the name we should have been looking to replace...
        • matheusmoreira 3 hours ago
          It's hard when compilers force you to use "main".

            int main(int argc, char **argv);
          
          I once wrote a liblinux library for Linux software development with freestading C. One of the things I did was replace the "main" function with a "liblinux_start" function.
          • OCTAGRAM 2 hours ago
            Ada compiler does not force to use main
    • mubou2 5 hours ago
      PSA: You can run one git command and ignore this change and associated drama entirely. I don't care which you prefer, but let's not pretend like main "won" when sticking with master is as easy as:

          git config --global init.defaultBranch master
      • throwawaymobule 42 minutes ago
        I did this the first time git asked me, because getting asked every time would get annoying.

        Glad it's going back to having a default and not asking.

      • croon 3 hours ago
        To be fair, ignoring the drama is just adapting to changes, which is crucial in this field. Our old repo defaulted to master, our new ones defaulted to main. No time was spent on bike shedding.
      • OCTAGRAM 2 hours ago
        git config --global init.defaultBranch default

        Because Mercurial is using default as default, and if we have to resort to worse SCMs, let them behave like Mercurial anyway

      • richid 5 hours ago
        main won
    • theshrike79 6 hours ago
      It's one of those things I couldn't care less about what it's actually called as long as it's uniform everywhere.

      I had a few frustrated evenings of debugging when Github changed the default to main and my local scripts expected "master".

      All fixed now, but still an annoyance. Don't think about it much anymore.

  • socalgal2 6 hours ago
    When is Linux going to rename “man” which according to my employer is a non-inclusive word and flagged in pull requests
    • croon 3 hours ago
      Curiously "man" is etymologically gender neutral, where wo/wif(man) denoted the female prefix for man, and the male dropped what would otherwise be were(man), seen in for example werewolf, which is gendered.
      • throw-the-towel 2 hours ago
        So a female werewolf would be a wowulf then? Cool!
        • croon 2 hours ago
          There is discussion on whether wer/e usage in werewolf has further/other roots, but assuming consensus landing on my GP, then yes!
        • nacozarina 1 hour ago
          wodude
    • johnisgood 6 hours ago
      Yeah, or killing parents and children. sighs. People really need some context-awareness.
      • veeti 5 hours ago
        Has the Linux community thought through the implications of using words like "containerization", when millions of slaves are still shipped around in shipping containers [1]? Docker is problematic technology to say the least.

        [1] https://www.aljazeera.com/news/2018/1/26/slavery-in-libya-li...

        • johnisgood 3 hours ago
          Yes, we ought to change "containerization" everywhere! In the Linux kernel, user-space, Docker, everywhere, only because people have difficulties with context-awareness! /s :D

          Please IT people, tell me that this thing is absurd.

          • veeti 2 hours ago
            FreeBSD also ought to consider the trauma "jails" as an analogy can cause to those unfairly incarcerated by the U.S. justice system.
            • johnisgood 1 hour ago
              Now we are getting somewhere! :D
      • rich_sasha 6 hours ago
        Don't forget killing orphans and zombies.
        • johnisgood 5 hours ago
          I will not forget master and slave pins either. :D
      • gritten 6 hours ago
        What...?
        • patates 6 hours ago
          I think they mean the kill/pkill. Not defending the silly chain of what-about arguments though.
          • johnisgood 6 hours ago
            The whole terminology in IT could be turned upside down because it can be quite offensive if people ignore the context, so it is not limited to processes. There are utilities like "man", "finger", etc. that could come across as offensive too, to some, with no context-awareness.

            Today it is "master" -> "main", tomorrow the whole IT terminology.

            There are many PRs on GitHub with regarding to these, by the way.

            ... also what about pins? Slave and master pins! Must be about slavery, right? No, it is not, not at all.

            In any case, who made the association of the git branch "master" to slavery? It is absurd. People need to take the context into account.

            • optionalsquid 5 hours ago
              > In any case, who made the association of the git branch "master" to slavery? It is absurd.

              BitKeeper, the VCS that preceded Git, used the terminology "master" and "slaves", so the association is not based on nothing:

              https://github.com/bitkeeper-scm/bitkeeper/blob/0524ffb3f6f1...

              • johnisgood 5 hours ago
                It is based on nothing. It is not intended to be offensive, and it is not intended to be about slavery. Similarly how master and slave pins are not either, or how blacklist and whitelist are not about race either!
                • johnisgood 3 hours ago
                  BTW FreeBSD changed blacklistd to blocklistd. :(

                  I do not mind blocklistd, but then again, there was nothing wrong with blacklistd either.

              • ret2plt 2 hours ago
                I grant it's not nothing, but I think it's not enough of something to make changes over it. Thinking of a master record or similar is the natural reaction when you learn about the terminology, and most young people have never used bitkeeper, so unless you go out of your way to explain why this is "bad" most people won't even know, so what do you gain from it?
            • dzhiurgis 5 hours ago
              IMO for something to be offensive it has to have intention to be offensive. Otherwise it's misunderstanding.
              • johnisgood 5 hours ago
                Of course, but they do not care about that. They made the association, and now they are being vocal about it. I am pretty sure most of us never made this association or attribution. I have never thought about slavery until they told me their own associations to it.

                I am pretty sure master / slave pins were not intended to be offensive, nor attributed to slavery. Similarly with the git "master" branch.

                • johnisgood 43 minutes ago
                  And quite frankly, the problem is that we cater to such people instead of teaching them to be context-aware.
          • boxed 6 hours ago
            Is it silly though? With enough linguistic archeology I bet you can make this entire comment I'm writing right now extremely problematic and offensive. The linguistic treadmill means exactly that older terms change meaning back in time. They also change meaning FORWARD in time, meaning your inoffensive terms today will almost certainly be offensive in the future.

            It's also the case that offense is language dependent, which is always funny when Americans hard ban certain words on chats and then Swedes can't use the Swedish word for "end" because it's spelled like a slur in English.

            Everyone needs to stop this nonsense.

            • Y-bar 6 hours ago
              > Swedes can't use the Swedish word for "end" because it's spelled like a slur

              "Ände" is a slur? (excuse my lack of transductional skills)

              • optionalsquid 6 hours ago
                They probably mean "slut". The word has the same meaning in Danish, by the way
    • stephen_g 3 hours ago
      Git (and computer science) shouldn’t use ‘hash’ either since it’s a drug reference.
    • jayd16 6 hours ago
      It costs nothing and makes people happy so why be a jerk about it?
      • nomilk 6 hours ago
        > costs nothing

        The cost is measured primarily in time. Experts in git/GitHub just experience a little annoyance (per repo). But for new comers (esp self-learners) the cost is much higher (takes the form of dysfunctional instructions, tutorials, readmes), and at the margin could cause someone to give up on a tutorial.

        Cost should be weighed up against benefits i.e. that those hurt or upset by use of the word 'master' would no longer be. It's highly questionable whether the term master ever upset anyone (not simply those who were upset by the idea that someone else could be upset by the term's use).

        A second-order cost is the precedent. There isn't a word in the English language which cannot be interpreted as malevolent given enough effort from the interpreter. Therefore it can be a better strategy to accept that there exist words with multiple meanings depending on context, and live with this language feature/imperfection, rather than impose costly changes on everyone to benefit a (possibly non-existent) few.

        • jayd16 5 hours ago
          My comment is about people being jerks in the backlash. It's done. Let it go.
          • nomilk 5 hours ago
            Implying perfectly reasonable inquiry (namely, if 'master' is to be removed, why aren't other 'problematic' terms?) is a "jerk" for asking seems off to me.

            This is a nitpick, dismissing others' questions and directing them to let it go, is overreach. That's not for you to determine. It's fine as a suggestion (especially if accompanied with your perception of why they ought to), but as a directive it comes across as though you assume you know what's better for someone else without evidence to support the assumption, or without it occurring to you that your assumption would be questioned.

            • jayd16 5 hours ago
              The "just asking questions!" defense now? OP was curious about Linux's roadmap? C'mon now. The man page comment was clearly non-serious and mocking.
              • nomilk 5 hours ago
                I agree the case for changing words like man, kill, and abort is weak (so weak that you perceived it as a joke), but the case for changing those words isn’t significantly weaker than was the case for changing master, and master was indeed changed. OP is right to question why the weak arguments in favour of changing master won, and if this shall continue unchecked.
          • oldpersonintx2 3 hours ago
            [dead]
      • mirekrusin 6 hours ago
        It’s non inclusive of people who think it’s stupid - their feelings are not taken under account.
        • adastra22 5 hours ago
          I'm with you on the cost basis for this. It makes no sense to die on this hill.

          But to answer your question, it's unclear how "inclusive" this actually is. No person of color I've talked to about this (at least 3 that I can recall) has thought this was anything other than weird virtue signaling by admittedly mostly white social justice warriors. Their feelings on "master" terminology ranged from mild bemusement to "I REALLY DON'T GIVE A SHIT."

          If the only people being "included" by this are people whom are themselves being uninclusive, even if for the right reasons... I question how "inclusive" this actually is.

          That said, I'm definitely in the idgaf camp. My new repos are "main" because that's the default. Most of my old repos are still "master" because I never bothered to change it.

        • jauntywundrkind 6 hours ago
          If there was a case where that was more than a quantum of annoyance, where it actually was any kind of actual weight at all, maybe those incredibly small feelings might be interesting to weigh. But they're not. They're the smallest of feelings, weighing nothing. Making this change is the easiest lightest most obviously acceptable of wins.
          • bakugo 2 hours ago
            This is such a weirdly patronizing comment. What exactly makes the feelings of the people who cried about the original name "bigger" than those of the people who don't like the change?
        • onion2k 6 hours ago
          I think those people are taken into account, and on balance are ignored because their argument is far less reasonable. "Slavery was one of the most awful things humans have ever done so we shouldn't continue to use the language of slavery to describe every day things because that diminishes the importance of our history" makes a lot more sense than "we should keep this terminology because it's tradition."

          We fix things that are broken. That's progress.

          • raincole 5 hours ago
            Except the master branch has nothing to do with slavery. Master branch doesn't even rule over other branches. It's more like 'master bedroom.'
            • Y-bar 5 hours ago
              Someone else linked this historical document to show that the words in Git has indeed to do with a master-slave relationship: https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...

              But as I said elsewhere, I do not care about that a lot. However, I do think those words are bad for other reasons because they do not illustrate the _actual_ role and relationships of branches in a VCS in a _good way_. If the master branch is not actually ruling over other branches, then it should be named something else, like "primary" as far as I am concerned.

              • ret2plt 2 hours ago
                PS: about the role in git: I don't feel that strongly about it, but I think master is somewhat more descriptive. The master branch contains the most up-to-date version of the source code, so e.g. if I'm working on a feature branch and a colleague pushes a bug fix that affects me into master, I need to merge/rebase to get the latest changes into my feature branch. So, while the master branch doesn't "rule" the feature branches, there is still the implication that changes to master should find there way into the feature branches at some point, which I think main doesn't convey that clearly.
              • ret2plt 2 hours ago
                Language is in constant flux. If a word has a remote historical connection to master/slave in a precursor project people nowadays don't even know, and people invent a "folk etymology" comparing it to a master record, do you really gain anything worthwhile from insisting on the history?
            • input_sh 5 hours ago
              > Except the master branch has nothing to do with slavery.

              It did, it originated from Bitkeeper that literally used to the term "slave" to refer to non-master branches.

              > It's more like 'master bedroom.'

              This is even more ridiculous. Where do you think that term came from? What made that a master bedroom in comparison to the other bedrooms? Could it be because that was the one the master was sleeping in, in comparison to the ones slaves were sleeping in?

              • kmm 4 hours ago
                There are many more kinds of masters than just owners of slaves. The word "master bedroom" only appeared in 1920, it has absolutely nothing to do with slavery.
                • input_sh 2 hours ago
                  No, that's just one of those made-up lies people repeat often enough online to become "true" because it's the top search result and because it makes them feel good about continuing to use that term.

                  Here it is for example in an Australian newspaper ad from 1844: https://trove.nla.gov.au/newspaper/article/31742822

                  > TO LET, Westmoeath Cottage and Garden, situated near to Cook's River, only three miles from the city. the cottage contains parlour and drawing room,and four large bed rooms ; detached kitchen, bakehouse, landry, storeroom, four stall stable and double coach-house, servants' rooms neatly fitted up, together with hay-loft and granary, school house and master's bed-room. A cottage containing four separate rooms for overseer and workmen ; two excellent wells of water on the premises, about six acres of garden neatly laid out and planted with the best vines and fruit trees, 'This property is fit for a family of the first respectability.

                  Or here it is in London-based The Examiner from 1845: https://upload.wikimedia.org/wikipedia/commons/0/08/The_Exam... (page 523, middle row, a couple of lines below the "Police" headline)

                  I'm sure I could find more examples, but I think two will sufface.

                  • ret2plt 1 hour ago
                    You couldn't own slaves in London in 1845, and in any case the name derives from the "Master of the household", so if you want to be mad about it, you should call it sexist, not racist. Or you could just be chill, stretch the meaning a bit and say the couple together are the masters of the household. But, now I'm curious: Where do you draw the line? You don't like git master branches and master bedrooms, but what about other uses? You can have a master key, master record, master a skill, create a masterwork, be a master to an apprentice, join the toastmasters, be a master of ceremonies at a formal event, you can dress up for comic con as Master Yoda, Master Chief, or Dumbledore (the Headmaster of Hogwarts), you can be a Master Chief in the US Navy, be the dungeon master for a game of D&D, get a Masters' Degree and so on. Which of these things are in your opinion bad and should be renamed?
                    • input_sh 35 minutes ago
                      This is very much like asking why are you focused on fixing one bug at a time in your software when you can fix every reported bug simultaneously?

                      I don't know man, maybe it's because fixing this one completely inconsequential bug faces so much backlash for no particular reason other than "change bad"?

                      And well done with using an example from a book series where the only Asian character is named Cho Chang and where there are elves with long noses in charge of the "central bank". That really works in your favour, you totally owned me [pun intended] with that one!

                  • rawling 1 hour ago
                    > A footman in his lordship's service stated he went into his master's bedroom [...]

                    isn't an example of the phrase "master bedroom".

                    I am also skeptical of "school house and master's bedroom". The main cottage has "four large bed rooms". Why would the "master bedroom", if it is meant to be read as it is today, be listed after the list of detached outbuildings?

                    • input_sh 50 minutes ago
                      Because you're thinking of homes in the modern term where one married couple owns one home and shares it with their children until they become adults and move out, instead of thinking of it as generational homes where 3-4 generations of the same family lived together.

                      So a master historically is not a 30-something year-old but his father in his 50s or 60s that actually owned the estate and wanted some privacy for him and his wife, hence a smaller, detached building away from the "main" building. The main building is where the master's sons and yet-unmarried daughters lived alongside the grandkids, hence needing more rooms, hence it being bigger than the building where the master lived.

                      I can't believe I have to explain something so basic.

          • veeti 5 hours ago
            "Was"? There are millions of people in slavery in the US penal system today. Entire cities like Dubai continue to be built by slaves. I, for one, find it to be extremely insulting towards their intelligence to think that unrelated use of the word "master" in a different context is somehow considered to be offensive.
      • nsagent 5 hours ago
        Because it goes hand-in-hand with the euphemism treadmill. I defer to the late great George Carlin's words on the subject:

          I don't like euphemisms, or euphemistic language. And American English is loaded with euphemisms. Cause Americans have a lot of trouble dealing with reality. Americans have trouble facing the truth, so they invent the kind of a soft language to protest themselves from it, and it gets worse with every generation.
        
        
        
        Video https://www.youtube.com/watch?v=vuEQixrBKCc or text form: https://www.lingq.com/en/learn-english-online/courses/87644/...
      • bigstrat2003 6 hours ago
        Correction: it costs something (breaking with past convention which adds friction), and it makes some people unhappy and others unhappy. This is not a harmless, all-upside change the way you are making it out to be.
      • stephen_g 4 hours ago
        As someone who has seen black colleagues happily using master/slave terminology in new code (embedded systems so this was around I2C devices), and the only one or two developers I’ve worked with who tried to push this renaming being white - I have two issues:

        First, I think it’s just a dangerous idea that people have to be so coddled and be ‘protected’ from seeing words that aren’t slurs and have either no contextual relationship or only very tenuous relationship to actually sensitive concepts (‘master’ has many meanings divorced from African slavery and git never had slave branches so plenty of other senses of the word apply). I feel like it’s going so far that anybody who needs this probably haven’t yet really achieved the resilience needed to operate in the real world.

        And secondly, since none of the black developers I worked with actually cared about it, it feels like it’s not great to do something and think you’ve done your bit for racism prevention when you’ve done nothing that makes any real difference to it!

      • nazgul17 6 hours ago
        Probably, because not everyone is made happy: some are annoyed. I am not going to enter the merit of either side.
      • sam_lowry_ 6 hours ago
        Because that's newspeak.
      • ecef9-8c0f-4374 6 hours ago
        you cant make people happy. Humans want always more. it's never enough
        • jayd16 5 hours ago
          Are you alright?
          • ecef9-8c0f-4374 5 hours ago
            no. I just had flashbacks on how many scripts I had to change and build edge cases in back then when they changed master and slave in mysql. But everything to make slaves happy and not feel triggered I guess.
            • cguess 1 hour ago
              This is just a default change. If you already have your branch named 'master' then that doesn't change anything.
              • ecef9-8c0f-4374 51 minutes ago
                that's a decision of platform team. no one will tell me. but if my script breaks they will.
      • bakugo 3 hours ago
        > makes people happy

        If your definition of "people" is "armchair political activists with nothing better to do with their lives", then yes.

      • EnPissant 6 hours ago
        This is closely related to the Heckler's Veto.
      • Sirikon 6 hours ago
        Because it rewards stupidity.
      • JimDabell 5 hours ago
        Something I wrote back when GitHub did this:

        > This change does hurt people. Have you never seen a newbie struggle with an out of date tutorial? There’s fifteen years of books, tutorials, videos, and other learning material out there that assumes the use of `master`. It takes about a decade for these things to die off in the clear-cut cases. However this is not even a clear-cut case, because Git defaults to `master` and GitHub defaults to `main`, so the confusion will last longer.

        > Version control is a hard enough concept to grasp well at the best of times. And now there’s going to be a bunch of newbies – many of whom will be black – getting frustrated and confused because they are following the tutorials as best as they can and not getting the results they expect. On balance, there is probably more harm done to black developers with this change than leaving things as they were. Haven’t you ever seen a young developer lose confidence when they are trying the best they can to follow instructions and it’s just not working? Disliking the fact that this is being done to new developers thoughtlessly is not “pointless”.

        > There’s also the matter that everybody I have seen advocating for this change has been white, and the responses I have seen from black developers generally ranges from “this is pointless” to “this is [performative / virtue signalling]” (insert appropriate term depending upon whether they are left or right wing). People start with the assumption that this is clearly the right thing to do for black developers, but people assuming that don’t seem to be actually listening to black developers about this, or at the very least, only listen to the ones that agree with them.

        > This could have been done in a better way – coördinate with the main Git project around changing the default across the board, plan an update to as much documentation as possible, and make it happen in sync. But GitHub charged in unilaterally, seemingly with an overactive case of a white saviour complex, with people like you telling everybody ”this change hurts nobody”. This was done in an entirely thoughtless manner and does hurt people.

        https://www.reddit.com/r/git/comments/jtrx1k/announcement_po...

        Beyond what I originally wrote, you also had ridiculousness like `git init` creating a branch called `main` if you install Git through Apple developer tools and `git init` creating a branch called `master` if you install Git through Homebrew; or getting a repo with `main` if you initialise the repo on GitHub and then clone it locally, but getting a repo with `master` if you initialise the repo locally then push to GitHub.

        I don’t especially care what the default is, but I do care that GitHub didn’t seem to give a shit about the disruption they caused as long as they looked like they were performing racial justice of some kind (whilst having zero black people in leadership!). Why wasn’t the change centralised through the Git project so everybody could make the change together?

        https://web.archive.org/web/20201001133529/https://github.co...

        Fortunately, with this change, everything will return to being in sync.

        • TrappedInCorner 3 hours ago
          How dare you make sense! Unfortunately nobody who disagrees with you will eat this up.
      • temptemptemp111 6 hours ago
        [dead]
      • SdGCq66N 6 hours ago
        [dead]
  • 000ooo000 6 hours ago
    How did Scrum Master escape this treatment?
    • harrygeez 1 hour ago
      at my work place we call them "Agile Champions" now
    • simonw 5 hours ago
      Because the term Scrum Master wasn't derived from master/slave.

      Git's concept of a master branch was borrowed from BitKeeper which used master/slave terminology. https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/H...

      • ret2plt 2 hours ago
        Eh, that's some interesting historical trivia, but I don't see how that matters tbh. If everybody is fine with the word because they (quite reasonably) assume it was inspired by master record or something similar, and you bring up some 25 year old history (20 years when the debate got started) about not even git but a precursor, does that really help with anything? I am sure there are other innocuous seeming words that have a dark etymology, should we go search for them so we can update the language?
        • pseudalopex 1 hour ago
          > If everybody is fine with the word

          Some people weren't evidently.

    • rich_sasha 6 hours ago
      You're right. I'll call it Scrum Main now.
      • em-bee 3 hours ago
        i suggest scrum whip (as in party whip, has a similar role and function)
    • rpigab 5 hours ago
      Does he have a MSc?
    • krzyk 5 hours ago
      Whitespace?
    • onion2k 6 hours ago
      We didn't need for another argument against Scrum, but that's a very compelling one.
    • ogogmad 6 hours ago
      "Sprint". "Bus factor"?
  • kv0 4 hours ago
    I don't get it how you can be so emotional for yet another branch name. Especially as this change was announced 5yrs ago.

    If this blocks you from "just want to do real work" maybe overthink your setup and adjust your pipelines?

  • zoobab 2 hours ago
    They should better fix bigger problems like real "decentralization" like using p2p protocols by default.

    Their current state of "decentralization" is "the developer might still have a copy of the repo on his laptop".

    • OCTAGRAM 2 hours ago
      Yeah. Advanced Direct Connect p2p is using TIGER Tree Hash. Gnutella2 p2p is using TIGER Tree Hash. There is BitTorrent format extension to include per-file TTH, implemented by EAD TorrentBuild. For best performance we should also get rid of pointless per-block hashes in torrent files.

      TTH is universal for p2p, and yet developers choose another hashes, making their tools not ready for p2p.

      My lovely Mercurial is unfortunately also not ready for p2p

  • OCTAGRAM 2 hours ago
    Mercurial uses "default" as the default branch since the inception
  • Artoooooor 18 minutes ago
    So now instead of game remasters we will get game remains?
  • almosthere 4 hours ago
    All the woke stuff was so annoying past 5 years. I don't remember the company name but it was one of those feature flag toggle companies. For a year straight they communicated this change they were doing, basically replacing blacklist and whitelist with more PC terms. Someone at the company decided to not only make it a recommended change, but that the old usage would BREAK the app. They couldn't handle the word blacklist in the codebase so much that they were willing to punish their users. It felt like I was getting an email from them every 5 days for a year.

    That all being said - main is shorter than master and I would say most of us here, probably 95%, are "used to it" and it would actually be annoying to go back to master.

  • randyrand 5 hours ago
    When we have sentient robots running around doing our bidding, I wonder what we'll call them.
    • aitchnyu 2 hours ago
      We already call them slaves, but with a Czech loanword.
  • jmclnx 57 minutes ago
    >More formally integrating Rust into Git’s own build process

    What does this mean, to compile git v3 I will need Rust ?

    As for 'main' I always used that, I do not know how that happened since I use git the say way I used RCS ages ago.

    • steveklabnik 2 minutes ago
      Yes, you will need Rust to compile git v3 from source.
  • Am4TIfIsER0ppos 3 hours ago
    Wasn't it already?
  • gjvc 6 hours ago
    "trunk" would have at least matched the notion of "branches"
    • bni 7 minutes ago
      Since Torvalds hated CVS and Subversion with a passion, "trunk" was out of the question I guess.
    • matheusmoreira 5 hours ago
      Huh. I always visualized "trunk" as some kind of chest where all the code was stored. Somehow it never occurred to me to think about trees. What a weird feeling.
      • webdevver 46 minutes ago
        i knew it wasn't just me!
      • porridgeraisin 2 hours ago
        Interesting perspective
      • gjvc 3 hours ago
        i hope you don't get your source code tree (on disk) confused with the tree of branches in the repository then...
    • stephen_g 4 hours ago
      Following the logic of the master rename though, should we even then use the terms “tree” or “branch”, since so many people were murdered by being hanged from them in lynchings?
    • mirekrusin 6 hours ago
      oh, don't worry, somebody will be offended by this as well - "trunk" as a sexual slang term refers to a woman's buttocks.
    • ogogmad 6 hours ago
      What about "boot", to be more international?
      • onion2k 6 hours ago
        trunk as in tree, not car. Cars don't have branches.
      • theshrike79 6 hours ago
        To go with the way the world is going, maybe "boot" and "licks" instead of "trunk" and "branches"? =)
  • testdelacc1 6 hours ago
    I’m disappointed that this headline will lead to more clicks. This is your reminder that in git the branch name is just a pointer to a commit. Renaming that pointer is relatively seamless on GitHub (https://github.com/github/renaming?tab=readme-ov-file#rename...). Also, git 3.0 isn’t forcing this change on existing repos, just new ones that no automation depends on. And if you really like the old name that’s always an option for your repos. Remember, it’s just a pointer.

    The other git 3.0 changes are more consequential and worthy of discussion - changing from SHA-1 to SHA-256 for greater security and performance, changing the storage format for performance and introducing Rust.

    • sam_lowry_ 6 hours ago
      > changing from SHA-1 to SHA-256 for greater security

      Linus has a different view, he referred to the SHA-256 migration as "pointless churn": https://www.youtube.com/watch?v=sCr_gb8rdEI?t=11m

      SHA-1 is not broken enough to be a serious issue for git. The migration to SHA-256 has been forced by on git by clueless morons, and it is, in this very special way, similar to the master-main rename.

      • PikachuEXE 5 hours ago
        Also wonders if SHA-384 or SHA-256 would be more "future proofing" or whatever the points the supporters making
      • adastra22 5 hours ago
        Only if you don't have any pdf files in your repo.
    • shiomiru 6 hours ago
      > just new ones that no automation depends on

      Except for automations that happen to create new repositories.

  • Traubenfuchs 4 hours ago
    Turns out people really, really, REALLY don't like to be forced to change their decades old thinking, vocabulary and definitions of words when they feel its either pointless busy work, propagation of an ideology they do not support or a straight up attempt at mind control.
    • TrappedInCorner 3 hours ago
      Additionally satisfies nobody else other than lonely cat ladies with all their mental illnesses on their twitter bio.

      How come such a marginal group of terminally butthurt people have so much control. I don't get it.

  • TrappedInCorner 6 hours ago
    Yet again the whining twitter-people get another win.
    • ixaxaar 6 hours ago
      From a third-world perspective, it feels like American politics being injected into the developer domain because of some previous biases that Americans had. Which is sad for a community that claims to be global.
      • bigstrat2003 6 hours ago
        Lots of Americans don't support this either. Of course, that doesn't actually matter to the people who have pushed this change through. They think that it's a righteous change, so it doesn't matter whom it annoys.
        • padjo 6 hours ago
          Lots of non Americans support the change too. Master was a terrible default name, switching it to a better name that’s also more inclusive language was a good idea. Where American politics infected things was the the reactionary response of people who are vehemently opposed to any attempt to fix problems that don’t directly effect them.
          • TrappedInCorner 5 hours ago
            This whole 'master branch' outrage doesn't even make sense. Should saying things like: "I've mastered computer programming." also be an offense?

            We absolutely should deny and disregard these nonsensical demands _by principle_. What was even the actual case made by people who wanted this? And don't tell me "well it's not a big deal, just accept it don't whine about something so small", because that won't fly, or shouldn't at least.

            • padjo 5 hours ago
              You can go read the justification in a million places, I’m not going to repeat it badly here.

              From your tone I see you’d like to have an argument. While I’m sure that will make you feel good about yourself on this dull Monday morning, I doubt it will result in much valuable interchange of perspective.

              • TrappedInCorner 4 hours ago
                I suppose the justification was not heavy enough. Master's degrees, master bedrooms, mastering a skill, and calling someone a master of their craft, in fact, still exist, and nobody seems to complain about thouse funnily enough. Just admit that this just bs.
    • 1bpp 6 hours ago
      This is whining. Name it what you want.
    • raincole 6 hours ago
      Adulthood is about realizing people who 'just want to do real work' will always be fucked over by people who vocalize their needs and organize like-minded ones, justified or not.
  • SdGCq66N 3 hours ago
    [dead]
  • nirui 5 hours ago
    Don't know why people here got triggered by DEI, but the "master" naming is just bad, "main" is actually a better and more generic description.

    The word "master" means someone/thing that has the capability of controlling things, like "Mastered", "Master Degree" etc.

    But in most Git contexts, "master" is just "one of the breach that we hand picked to put our finest results in", that's not mastering anything, it just means "if you know what's best for you (or not), just use this one".

    Another similar wording is in IDE hard drives. Remember the fun time where you can to setup jumpers before your secondary IDE hard drive would work? Yeah that secondary drive is called "slave". I'm still confused why the first drive must be called "master" since I never see it whipping any other drives to make them work harder or really doing anything that's remotely controlling.

    The computer guys in the old times really have a weird taste in naming things.

    • godelski 2 hours ago
      I think you're missing the historical context[0]. It came from "master-slave architecture" which has an older history. It's why we refer to a master copy of a photo or document too.

      I really don't care if it's main or master tbh. But is anyone actually offended?

      [0] https://en.wikipedia.org/wiki/Master%E2%80%93slave_(technolo...

    • realityking 5 hours ago
      Interesting thought process. I always liked the “master” branch to a “master recording” since most branches are created off master.
      • stephen_g 3 hours ago
        This was always the sense I thought of too
    • LarsKrimi 2 hours ago
      For IDE you are mixing up 2 separate concepts. The addressing primary/secondary is purely addressing, I don't recall seeing "Master/Slave" in relation to that. Labeling on HDDs I've seen always used primary/secondary

      Where the master terminology comes in is that a certain version of ATA added bus mastering DMA from the drive. Maybe some harddisks had a jumper to disable or enable that

      • kstrauser 1 hour ago
        This is verifiably untrue. Older IDE hard drives commonly used master and slave on their printed labels instead of primary and secondary. Google “ide drive master slave” images and you’ll see plenty of examples.

        I don’t say this to justify sticking with the older terms, just to assert that they were actually used.

        • LarsKrimi 30 minutes ago
          Hmm interesting. That is true about the labelling of jumpers, I couldn't even find any images with other naming schemes
    • Y-bar 5 hours ago
      Well said. I think the slavery connotations in Git are not a big deal. But I have always disliked the word "master" because it never seemed well-suited for what role it played in the version control sphere. Labels like "main" or "primary" always seemed like better words to me, so I am glad that this change was made.
    • Ferret7446 5 hours ago
      You betray your own ignorance. Master has been used historically to refer to the "final" or "canonical" copy. For example, you make copies of a CD based on the master. Creating that master copy is called mastering.

      The word "master" stems from Latin, meaning "great" or "teacher". Just as teachers pass on knowledge to students, data is copied from the master.

      Any slavery related connotations is insanely recent, and arguably manufactured specifically for the purpose of linguistic censorship. Historically, slave owners were referred to as... owners.

      • nirui 2 hours ago
        The "final" or "canonical" argument can only indicates that the word "master" has multiple meanings, which is not a really special. Tho, "Master Degree" really means teaching, my bad.

        > Just as teachers pass on knowledge to students, data is copied from the master.

        In the Git context, the "canonical" way to use git is that you merge/copy data _from_ other branches, such as `wip` or `dev`, _back to_ `master` or `main`, not the other way around.

        All and all, it's done, OK? Don't like it? Hey, you can still use "master", just customize it. But you'll probably piss some people if you do, and then you have to dig out your dictionary again and again. Choice wisely.

  • fzeroracer 6 hours ago
    Seeing some of the complaints around this feels like people are somehow still stuck in 2020 instead of 2025. People need to do a fresh pull down from main and update their arguments.

    Frankly I don't really care either way, main is shorter and conveys the same meaning so by my metrics it's better. You can override the default to be whatever you want.