1. GitHub 再見 Master !

        共 3593字,需瀏覽 8分鐘

         ·

        2020-10-07 16:13

        GitHub宣布,自2020年10月1日起,在GitHub平臺(tái)上創(chuàng)建的所有源代碼存儲(chǔ)庫(kù)都將默認(rèn)命名為 main ,而非原本的 master 。

        近日,GitHub宣布,自2020年10月1日起,在GitHub平臺(tái)上創(chuàng)建的所有源代碼存儲(chǔ)庫(kù)都將默認(rèn)命名為 main ,而非原本的 master 。
        這一變化是什么原因?具體又是怎樣的變化呢?接下來為你一一解答。
        替換 master 等術(shù)語(yǔ),開源項(xiàng)目在行動(dòng)!
        今年6月12日,谷歌瀏覽器開發(fā)人員 Una Kravets 的一條 Twitter 火了,內(nèi)容是建議 GitHub 用 main 之類的中性術(shù)語(yǔ)替換 master ,并解釋了提出這個(gè)建議的原因:
        main 更短,簡(jiǎn)潔明了;
        • 容易被人記住;

        • 會(huì)讓我的隊(duì)友們感到舒適;

        • 不會(huì)讓黑人在科技界感到被歧視;

        GitHub 的 CEO 對(duì)此回應(yīng)到:“提議非常好,我們已經(jīng)在執(zhí)行了?!?/span>


        外媒 ZDNet 曾表示:繼續(xù)使用帶有種族色彩的詞匯可能會(huì)加深種族歧視,這實(shí)在令人擔(dān)憂。一些學(xué)者也認(rèn)為:這些術(shù)語(yǔ)不僅反映了種族主義文化,而且還強(qiáng)化、合法化和延續(xù)了它?!币?yàn)槊绹?guó) “Black Lives Matter” 運(yùn)動(dòng)愈演愈烈,技術(shù)界再次掀起了在源碼、軟件應(yīng)用開發(fā)中刪除此類詞匯的浪潮。


        因此 GitHub 于今年6月表示,公司正在努力以 main 之類的中性術(shù)語(yǔ)替換 master 一詞,以避免不必要的聯(lián)想到奴隸制。具體的更換有:master 和 slave 將被替換為 main/default/primary 和 secondary,whitelist 和 blacklist 則將被替換為 allow list 和 deny/exclude list 。?


        除了 GitHub , Android 移動(dòng)操作系統(tǒng)、 Go 編程語(yǔ)言, PHPUnit 和 Curl 等都已表示打算用中性詞匯替換掉 blacklist/whitelist 。同樣,OpenZFS 文件存儲(chǔ)管理器也用合適的詞語(yǔ)替換了原用于描述存儲(chǔ)環(huán)境之間關(guān)系的 master/slave 術(shù)語(yǔ)。


        與此同時(shí),一些業(yè)界知名的開源項(xiàng)目也將其默認(rèn) Git 存儲(chǔ)庫(kù)的名稱從 master 更改為 main、default、primary、root 等替代名稱。


        不過,值得注意的是,開源項(xiàng)目的名稱修改也并非想象中那么簡(jiǎn)單。在今年6月,React Refresh Webpack Plugin 的開發(fā)者迅速將 master 改成 main ,卻被一個(gè)程序員吐槽:因?yàn)樵?Git 上下文中,單詞 master 的用法與 master/slave 不同,導(dǎo)致所有程序都改變了,最后項(xiàng)目都崩了。


        由此可見,修改存儲(chǔ)庫(kù)默認(rèn)分支的名稱并非一朝一夕的事,需要循序漸進(jìn)。這正如同近日 GitHub 官宣的內(nèi)容:將從10月1日起用 main 代替 master ,但將分階段進(jìn)行。


        GitHub 用 main 取代 master 舉措落地,開發(fā)者最關(guān)心的事情在這里


        GitHub 以及龐大的 Git 社區(qū)都在考慮重命名源代碼存儲(chǔ)庫(kù)的默認(rèn)分支名稱,而GitHub 選擇用 main 取代 master ,來作為自己存儲(chǔ)庫(kù)的默認(rèn)分支名稱,并將分為幾個(gè)階段進(jìn)行更改,以盡可能減少對(duì)現(xiàn)有項(xiàng)目的破壞。
        GitHub 建議用戶:如果您尚未重命名默認(rèn)分支,可以考慮等到今年年底。我們正在投資開發(fā)工具,用來重命名現(xiàn)有存儲(chǔ)庫(kù)的默認(rèn)分支,從而給維護(hù)者和貢獻(xiàn)者提供無縫的體驗(yàn)。

        以下是 GitHub 就此宣布的一些注意事項(xiàng):


        已更改部分
        • 已更新 GitHub.com :將包含已刪除的分支名稱的原版鏈接重定向到存儲(chǔ)庫(kù)新默認(rèn)分支中的相應(yīng)鏈接;

        • 已更新 GitHub Pages :可以從任何分支構(gòu)建和部署;

        注意:發(fā)布到特殊的 gh-pages 分支仍可以像以前一樣工作,但是現(xiàn)在可以選擇存儲(chǔ)庫(kù)中的其他任何分支作為發(fā)布源。
        • 添加了用戶,組織和企業(yè)設(shè)置:為 GitHub.com 上所有新創(chuàng)建的存儲(chǔ)庫(kù)設(shè)置默認(rèn)分支名稱。

        這些設(shè)置涵蓋通過 GitHub.com 和 GitHub API 創(chuàng)建的存儲(chǔ)庫(kù)。Git 2.28 添加了類似的設(shè)置來控制在命令行上運(yùn)行 git init 時(shí)使用的默認(rèn)分支。在 Git 2.28 博客文章中可以了解更多有關(guān)新的 init.defaultBranch 的設(shè)置信息。

        GitHub Desktop 還將在本月晚些時(shí)候?yàn)樾麓鎯?chǔ)庫(kù)引入默認(rèn)分支設(shè)置。


        2020年10月1日:新創(chuàng)建的存儲(chǔ)庫(kù)都將默認(rèn)為main

        自2020年10月1日起,新創(chuàng)建的存儲(chǔ)庫(kù)都將使用 main 作為默認(rèn)分支,而不是原本的 master 。但此更改不會(huì)影響任何現(xiàn)有存儲(chǔ)庫(kù):現(xiàn)有存儲(chǔ)庫(kù)將繼續(xù)保留與之前相同的默認(rèn)分支。
        但此更改可以隨時(shí)選擇退出,通過以下對(duì)應(yīng)網(wǎng)址,可為用戶,組織或企業(yè)的新存儲(chǔ)庫(kù)設(shè)置默認(rèn)分支:
        • 對(duì)于用戶,請(qǐng)?jiān)L問 https://github.com/settings/repositories

        • 對(duì)于組織所有者,請(qǐng)?jiān)L問 https://github.com/organizations/YOUR-ORGANIZATION/settings/repository-defaults

        • 對(duì)于企業(yè)管理員,請(qǐng)?jiān)L問 https://github.com/enterprises/YOUR-ENTERPRISE/settings/member_privileges

        為什么選擇用 main 替代?


        main 是在 GitHub 上看到的最受歡迎的 master 替代詞。并且 main 這個(gè)詞匯很短,可以讓用戶形成良好的肌肉記憶;在很多種語(yǔ)言中翻譯起來也很容易。
        GitHub 目前正將 main 用于新創(chuàng)建的存儲(chǔ)庫(kù)以及正在遷移的存儲(chǔ)庫(kù),例如 dependabot-core。


        今年年底:無縫遷移現(xiàn)有存儲(chǔ)庫(kù)


        重命名默認(rèn)分支肯定會(huì)對(duì)現(xiàn)有存儲(chǔ)庫(kù)帶來很多麻煩:
        • 打開拉請(qǐng)求需要重新定位到新分支

        • 草案發(fā)布需要重新定位到新分支

        • 分支機(jī)構(gòu)保護(hù)策略需要轉(zhuǎn)移到新分支機(jī)構(gòu)

        今年年底之前,GitHub 將使現(xiàn)有存儲(chǔ)庫(kù)全部無縫重命名其默認(rèn)分支。當(dāng)重命名分支機(jī)構(gòu)后,GitHub 會(huì)重新定位未完成的PR和草稿版本、移動(dòng)分支機(jī)構(gòu)的保護(hù)政策等等——全部都將自動(dòng)執(zhí)行。并且,GitHub 還正在考慮將 git fetch 或 git clone 舊分支名稱的用戶重定向到新分支名稱(帶有警告和說明以更新其本地克?。?/span>


        對(duì)這一舉動(dòng)的思考?


        其實(shí)關(guān)于計(jì)算機(jī)術(shù)語(yǔ)的政治正確性并不是近幾年才出現(xiàn)的話題,GitHub 在公眾的督促下?lián)Q掉 master 也不是首當(dāng)其沖。


        早在2004年,master/slave 就曾被全球語(yǔ)言檢測(cè)機(jī)構(gòu)評(píng)為年度最不政治正確的十大詞匯之一,只是當(dāng)時(shí)的軟件開發(fā)和網(wǎng)絡(luò)發(fā)展并沒有如今這么發(fā)達(dá),所以更換術(shù)語(yǔ)這類事就全靠自發(fā)。比如,2008年,開源軟件 Drupal 宣布將 master/slave 重命名為 client/server ,理由是在有更好的替代方案時(shí),繼續(xù)使用冒犯性術(shù)語(yǔ)很不合時(shí)宜。之后一直到2018年,IETF 在草案當(dāng)中,提出開源軟件需要更改 master/slave 和 blacklist/whitelist 兩項(xiàng)表述,計(jì)算機(jī)術(shù)語(yǔ)的使用才引起了廣泛的關(guān)注。


        因此同年,許多開發(fā)者就開始呼吁 Redis、谷歌、Python 這些開源軟件廠商修改相關(guān)術(shù)語(yǔ)。


        但其實(shí)反對(duì)的聲音也一直很多。其中最重要的兩個(gè)理由是:
        • 計(jì)算機(jī)源碼中的 master、blacklist 等詞語(yǔ),并不包含種族色彩;

        • 更改的成本太大。

        事實(shí)上那些倡議者們所追求的,并非完全不能使用“black”這個(gè)詞,而是呼吁不要把“biack”作為“white”的對(duì)立面,傳達(dá)出“不好”、“需要被限制”等這些負(fù)面含義。所以,當(dāng) master/slave出現(xiàn)在代碼中,表達(dá)的又恰好是“主-從”關(guān)系,就難免讓人想到奴隸制。


        可是,究其根本,在計(jì)算機(jī)術(shù)語(yǔ)中的master、blacklist等詞語(yǔ),本身并不包含負(fù)面和歧視的意思,卻因?yàn)檎`解而花費(fèi)巨大成本修改術(shù)語(yǔ),是否會(huì)有些許過猶不及的意味呢??


        參考鏈接
        https://baijiahao.baidu.com/s?id=1669620192902455480&wfr=spider&for=pc
        https://www.sohu.com/a/405073858_478315
        https://www.jiangweishan.com/article/hulianwang0234098230948.html
        本文首發(fā)自公眾號(hào):CSDN,歡迎搜索關(guān)注!
        瀏覽 52
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 甜性涩爱韩国hd未删在线 | 美女操逼网址 | 亚洲AV综合色区无码国产网站 | 国产欧美日韩国产 | 午夜理伦一区在线视频 |