Github 太狠了,居然把 "master" 干掉了!

Java技術(shù)棧
www.javastack.cn
關(guān)注閱讀更多優(yōu)質(zhì)文章
前段時間棧長有看到 Github 和 master 分支變更的新聞,當(dāng)時沒有注意細節(jié),直到今天我創(chuàng)建倉庫時:

看了半天感覺有點不對勁啊。。。
怎么 master 不見了,之前默認主干分支名稱都是叫 master 啊,直到現(xiàn)在我才意識到了這個變更,原來是把 master 變成 main 了。
剛開始,我還有點不愿意接受這個現(xiàn)實,畢竟用了這么多年的 master,養(yǎng)成習(xí)慣了,也有感情了,你說變就變...
我本來還想著說不管了,我繼續(xù)改成用我的 master 吧,后來還是想著用 main 算了,畢竟官方變更應(yīng)該有它的理由,順便想著研究下這背后的邏輯。。
1、為什么要變更 master 名稱?
關(guān)注公眾號Java技術(shù)棧的朋友應(yīng)該都知道,今天 7 月份的時候 MySQL 也有類似的舉動:《MySQL 宣布停止使用 master、slave!》,MySQL 宣布將 master、slave、blacklist(黑名單)和 whitelist(白名單)等術(shù)語分別替換為 source、replica、blocklist 和 allowlist。
這其中的奧秘就不用多說了,在國外,主、從、黑都涉及到種族歧視,所以很多涉及到這些的都被改名了,包括黑人牙膏,所以現(xiàn)在國外很多科技公司也加入了改名的征程也不奇怪了。
2、為什么是 main,而不是其他名稱?
抱著學(xué)習(xí)的精神,我也找到了 Github 的官方改名申明:
https://github.com/github/renaming
Github 分析認為,main 是 master 的最佳替代名稱,也是最受歡迎的,因為它能夠很好的翻譯大多數(shù)語言,也因為 main 夠短,不用費腦子,憑肌肉記憶就讓你見名知義。
如果你想讓新建的倉庫還是要用 master 或者默認其他名稱,也不是不行,可以在設(shè)置中修改默認的名稱:

設(shè)置默認倉庫分支名稱地址:
https://github.com/settings/repositories
3、以前的 master 受不受影響?
從官方的申明來看,以前創(chuàng)建的倉庫不受影響,Github 會分幾個階段進行修改,目的是盡可能的減少對現(xiàn)有項目的干擾。
棧長也看了下之前創(chuàng)建好的倉庫,主干依然還是 master,所以說之前的并不會受影響,只是新建的默認主干分支名稱變成 main 了。
想象下,如果 Github 批量把所有的倉庫 master 名稱都修改為 main,那勢必是一場災(zāi)難,因為大家的主干都叫 master,它如果冷不丁的改了,主干的更新、推送就會受到影響,那些依賴 Github 倉庫的業(yè)務(wù)也會受到影響,全球用戶眾多,所以肯定不敢貿(mào)然變更的。
所以,現(xiàn)在不變更也沒事,Github 正在研發(fā)一款工具,到今年年底,現(xiàn)有的倉庫也能夠無縫地重命名默認分支了。
一起拭目以待吧,棧長也會持續(xù)關(guān)注動態(tài),有消息公眾號Java技術(shù)棧第一時間推送,不要走開。






關(guān)注Java技術(shù)棧看更多干貨


