天天看點

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

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

Java技術棧

www.javastack.cn

關注閱讀更多優質文章

前段時間棧長有看到 Github 和 master 分支變更的新聞,當時沒有注意細節,直到今天我建立倉庫時

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

看了半天感覺有點不對勁啊。。。

怎麼 master 不見了,之前預設主幹分支名稱都是叫 master 啊,直到現在我才意識到了這個變更,原來是把 master 變成 main 了。

剛開始,我還有點不願意接受這個現實,畢竟用了這麼多年的 master,養成習慣了,也有感情了,你說變就變...

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

我本來還想着說不管了,我繼續改成用我的 master 吧,後來還是想着用 main 算了,畢竟官方變更應該有它的理由,順便想着研究下這背後的邏輯。。

1、為什麼要變更 master 名稱?

關注公衆号Java技術棧的朋友應該都知道,今天 7 月份的時候 MySQL 也有類似的舉動:《MySQL 宣布停止使用 master、slave!》,MySQL 宣布将 master、slave、blacklist(黑名單)和 whitelist(白名單)等術語分别替換為 source、replica、blocklist 和 allowlist。

這其中的奧秘就不用多說了,在國外,主、從、黑都涉及到種族歧視,是以很多涉及到這些的都被改名了,包括黑人牙膏,是以現在國外很多科技公司也加入了改名的征程也不奇怪了。

2、為什麼是 main,而不是其他名稱?

抱着學習的精神,我也找到了 Github 的官方改名申明:

https://github.com/github/renaming

Github 分析認為,main 是 master 的最佳替代名稱,也是最受歡迎的,因為它能夠很好的翻譯大多數語言,也因為 main 夠短,不用費腦子,憑肌肉記憶就讓你見名知義。

如果你想讓建立的倉庫還是要用 master 或者預設其他名稱,也不是不行,可以在設定中修改預設的名稱:

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

設定預設倉庫分支名稱位址:

https://github.com/settings/repositories

3、以前的 master 受不受影響?

從官方的申明來看,以前建立的倉庫不受影響,Github 會分幾個階段進行修改,目的是盡可能的減少對現有項目的幹擾。

棧長也看了下之前建立好的倉庫,主幹依然還是 master,是以說之前的并不會受影響,隻是建立的預設主幹分支名稱變成 main 了。

想象下,如果 Github 批量把所有的倉庫 master 名稱都修改為 main,那勢必是一場災難,因為大家的主幹都叫 master,它如果冷不丁的改了,主幹的更新、推送就會受到影響,那些依賴 Github 倉庫的業務也會受到影響,全球使用者衆多,是以肯定不敢貿然變更的。

是以,現在不變更也沒事,Github 正在研發一款工具,到今年年底,現有的倉庫也能夠無縫地重命名預設分支了。

一起拭目以待吧,棧長也會持續關注動态,有消息公衆号Java技術棧第一時間推送,不要走開。