Change Master Branch to Main, Trunk, Default, Root, Primary, or Something Else
What do you all think about renaming the master branch for this repo?
My thought is that if the change isn't too complicated and it doesn't change the functionality of the code, it's worth it to distance the project from the "Master/Slave" or even "Master/Disciple" connotation.
I personally think trunk
makes the most sense given the branch
terminology, but main
is close to master in terms of letters and might be more straightforward for people new to Git and the project.
There's a good discussion about this here: Easily rename your Git default branch from master to main.
Some of the arguments in favor of this change that I think make sense:
Comment 1:
I never thought the
master
branch naming was particularly good, I guess it suppose to mean the "master copy", but there are way better names to choose from. E.g. Mercurial used the namedefault
, SVN usedtrunk
. Aside from being the default branch name when you create a new git repository, the master branch is not special in any way, it doesn't have any meaning for git itself, so deleting or renaming it doesn't hurt at all.
Comment 2:
But sitting back and thinking about it, it's weird that it's setup as master and branches. Like they wanted to do master/slave but had second thoughts and just left master. Trunk and branches make way more sense in that regard.
Comment 3:
For those making the “master copy” argument, it turns out that Git’s “master” branch terminology does not appear to come from “master copy” but is a legacy of Bitkeeper’s “master/slave repositories” concept. You can trace it yourself in the archives: https://mail.gnome.org/archives/desktop-devel-list/2019-May/msg00066.html (I learned this from a tweet https://twitter.com/tobie/status/1270290278029631489?s=21) Even if it was a “master copy”, I think the name change to avoid overloaded terms is worthwhile.
Comment 4:
"There's lots of more accurate options depending on context and it costs me nothing to change my vocabulary, especially if it is one less little speed bump to getting a new person excited about tech."
I think a lot of comments are around the "master" not referring to master-slave relationship are fair enough, but Scott's point here is the one that made me decide its a change worth doing. Even if there isn't an explicit relationship in this context - it costs me nothing to change, and if someone can deal without the connotations of "master" stirring negative thoughts or emotions in someone else, isn't it worth it?