3 ms·
"Slave" is not a term used by Git or Github, and its use of "master" is not related to the vocabulary of "master/slave". Not the first to say this, but the medi
by jameslevy 6y ago
"Slave" is not a term used by Git or Github, and its use of "master" is not related to the vocabulary of "master/slave". Not the first to say this, but the media seems to be getting this all wrong.
- gowld 6y agoHow does GitHub use "master"? In particular, how is it different from what is called "mainline" in other VCS systems?
- bonzini 6y agoThe only git-specific aspect is that every clone of a repository gets a "master branch" (more precisely a branch named the same as the cloned repository's HEAD, but that is 99.9% of the time "master") and that is the only branch that is automatically created in the clone, just like a "master disk" is used to make copies of the disk. This is actually a git concept not specific to GitHub.
- wgerard 6y agoCaveat: I'm fine with this decision from GH, just clarifying. I believe it's the same usage as used in music recording, e.g. > an original movie, recording, or document from which copies can be made.
- jameslevy 6y ago"Master" is similar to the master copy of a work. It is used as a reference to base branches from.
- sudhirj 6y agoThe 'master' branch uses the word the same way an audio recording does. There isn't a corresponding slave. The word does come up in database replicas, which are often called master/slave. I can see a clear case where that would be offensive. Renaming the master branch might be throwing the baby out with the bathwater, but it's just easier to do that right now, and it's a small price to pay.
- zelly 6y agogit uses "master" to mean the canonical, pristine version as in the usage of the term in art and photography: master 5b: an original from which copies can be made especially : a master recording (such as a magnetic tape) https://www.merriam-webster.com/dictionary/master https://www.merriam-webster.com/dictionary/master You can branch from master the way you duplicate a master tape cassette, and the copy is not any worse or subordinate. In fact the whole point is that the branches are improvements.
- there_the_and 6y ago> I picked the names "master" (and "origin") in the early Git tooling back in 2005. > (this probably means you shouldn't give much weight to my name preferences :) ) > I have wished many times I would have named them "main" (and "upstream") instead. > Glad it's happenning @natfriedman https://twitter.com/xpasky/status/1271477451756056577?s=21 https://twitter.com/xpasky/status/1271477451756056577?s=21
- amyjess 6y agoFor what it's worth, I have to reactions to that, both positive: 1) I came from an SVN background and only switched to Git because I started working at companies that used it. I still prefer SVN's aesthetics (and I wish I had more opportunities to use Mercurial), so I would much rather have 'main' or 'trunk' than 'master'. 2) At my company, my team uses the forking workflow (i.e. we do all our work in our own forks and then submit PRs to merge into the repo on the central server). Whenever I clone and fork a repo, I always nuke the 'origin' remote and create two new ones: my own fork, which I name after my AD username at my company, and the repo on the central server, which I name 'upstream'. That way, whenever I pull or push, I don't have to worry about mindlessly pushing or pulling 'origin' and accidentally touching the wrong repo: if I accidentally do so, I'll just get an error. So I am very, very much used to pulling from 'upstream'.
- wayneftw 6y agoYou left out the most relevant part: > Out of curiosity, why 'master'? What was it meant to convey? 'Master' as in 'original' or as in 'owner'? [0] the reply: > "master" as in e.g. "master recording". Perhaps you could say the original, but viewed from the production process perspective. [1] [0] https://twitter.com/yawaramin/status/1272237126474752005 https://twitter.com/yawaramin/status/1272237126474752005 [1] https://twitter.com/xpasky/status/1272280760280637441 https://twitter.com/xpasky/status/1272280760280637441
- tchaffee 6y agoThe media is most likely getting it right. The history points to the master terminology in Git being tied to the master/slave metaphor from bitkeeper. https://mail.gnome.org/archives/desktop-devel-list/2019-May/msg00066.html https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
- frew 6y agoExcept it is: https://mail.gnome.org/archives/desktop-devel-list/2019-May/msg00066.html https://mail.gnome.org/archives/desktop-devel-list/2019-May/...
- bonzini 6y agoThat is hearsay at best, an intentional strawman at worst. The fact that bitkeeper uses master and slave repositories has no relationship on the meaning of master for git branches. Git uses origin and clone for repositories.
- DangitBobby 6y agoI'll just share this with you directly since I don't know how to link to another comment: https://mobile.twitter.com/xpasky/status/1271477451756056577?s=21 https://mobile.twitter.com/xpasky/status/1271477451756056577...
- deleted 6y ago[deleted]
- lilyball 6y agoIt doesn't actually matter what the etymology of "master" is in this context. What matters is how people affected by a legacy of slavery view the term and its usage. In general, the term "master" used to denote something that is in charge or in control is problematic.
- lilyball 6y agoI guess I shouldn't be surprised at HN's response to this comment. But I am, frankly, disgusted.