用了那么多年的 Master 分支或因种族歧视而成为历史?

DD的博客全面升级,阅读体验更佳(尤其是系列教程),后续不再通过这里发布新文章,而是改到 www.didispace.com 发布啦,奔走相告!点击直达~

最近真的是活久见了…不知道你是否也有碰到之前Fork过的国外开源项目,最近突然崩了,原因居然是好多项目都把master分支改为了main分支!更可怕的是修改原因居然是涉及种族歧视。用了那么多年的master,居然是种族歧视?到底发生了什么?

运动的发起

这次的 mastermain 的倡导运动发起自知名技术博主 Scott Hanselman。6月8日 Scott 发文呼吁将你的Git默认分支从master修改为main

Scott认为:IETF中所指出的Master-Slave是具有不恰当的隐喻,不论从技术上还是历史上,这个描述都不够准确,所以他希望可以修改关于主分支的描述词为 main,同时还给出了详细的修改方法。

更多详细倡导内容可见 Scott 的原文:https://www.hanselman.com/blog/EasilyRenameYourGitDefaultBranchFromMasterToMain.aspx

随后,各路业内网友也加入支持:

Chrome的开发者 Una Kravets表示,原因是:main更简单、更容易记住、如果队友觉得舒服就改吧、如果让黑人朋友好受那更好!

Una Kravets的这一条twitter同时还@了github的CEO,希望能够支持这一举动。

随即,Github CEO Nat Friedman在 twitter 上回应:这是一个好主意,我们已经正在做了!

这意味着啥?目前庞大的开源项目库都要把 master 改为 main 了吗?

反对的声音

如果只是平时用此更改一个词汇没有多大问题,但是对于已经运行这么多年的开源项目,面对 master 改 main 的运动,还是会收到一些影响,尤其是一些基础层面的开源项目,由于这些项目有非常多的子孙项目,一个祖先项目的修改,将会牵连非常多。就技术人层面而言,这种情况通常是不希望看到的,因此很多国外技术人对此表示反对。

比如跟我们一样突然被改名搞崩的国外友人:

imbaniac 表示:

  1. Git 中的 master 与 Master / Slave完全没有关系,我们从来没见过Slave分支!
  2. 对于这样的修改是否有考虑过,现存项目、书籍、教程等内容都需要修改所付出的代价?

imbaniac 甚至顺便吐槽了一下:幸亏没有得到 Master 学位 (潜台词:是不是也要改?还是被剥夺?)

后面跟帖的支持者大多也都表示这里的master完全没关系,甚至还出现了中文语境的例子…这是要上天啊,反正小编给他点赞了!

Master 的鼻祖

对于这次Git分支更名事件针对默认分支:master,那么 master 是谁起的呢?如果你用过 Git,应该马上就想起了技术大神也是互联网巨炮手:Linus。

前不久,Linus 刚刚怒怼了 Intel CPU 的漏洞补丁,对于此次的 Git 默认分支命名之争,不知道会报如何想法呢,期望大神的发声!