點擊上方藍(lán)色“小哈學(xué)Java”,選擇“設(shè)為星標(biāo)”
回復(fù)“資源”獲取獨家整理的學(xué)習(xí)資料!


GitHub宣布,自2020年10月1日起,在GitHub平臺上創(chuàng)建的所有源代碼存儲庫都將默認(rèn)命名為 main ,而非原本的 master 。
近日,GitHub宣布,自2020年10月1日起,在GitHub平臺上創(chuàng)建的所有源代碼存儲庫都將默認(rèn)命名為 main ,而非原本的 master 。
這一變化是什么原因?具體又是怎樣的變化呢?接下來為你一一解答。替換 master 等術(shù)語,開源項目在行動!今年6月12日,谷歌瀏覽器開發(fā)人員 Una Kravets 的一條 Twitter 火了,內(nèi)容是建議 GitHub 用 main 之類的中性術(shù)語替換 master ,并解釋了提出這個建議的原因:main 更短,簡潔明了;
容易被人記住;
會讓我的隊友們感到舒適;
不會讓黑人在科技界感到被歧視;
GitHub 的 CEO 對此回應(yīng)到:“提議非常好,我們已經(jīng)在執(zhí)行了。”外媒 ZDNet 曾表示:繼續(xù)使用帶有種族色彩的詞匯可能會加深種族歧視,這實在令人擔(dān)憂。一些學(xué)者也認(rèn)為:這些術(shù)語不僅反映了種族主義文化,而且還強化、合法化和延續(xù)了它。”因為美國 “Black Lives Matter” 運動愈演愈烈,技術(shù)界再次掀起了在源碼、軟件應(yīng)用開發(fā)中刪除此類詞匯的浪潮。因此 GitHub 于今年6月表示,公司正在努力以 main 之類的中性術(shù)語替換 master 一詞,以避免不必要的聯(lián)想到奴隸制。具體的更換有:master 和 slave 將被替換為 main/default/primary 和 secondary,whitelist 和 blacklist 則將被替換為 allow list 和 deny/exclude list 。?除了 GitHub , Android 移動操作系統(tǒng)、 Go 編程語言, PHPUnit 和 Curl 等都已表示打算用中性詞匯替換掉 blacklist/whitelist 。同樣,OpenZFS 文件存儲管理器也用合適的詞語替換了原用于描述存儲環(huán)境之間關(guān)系的 master/slave 術(shù)語。與此同時,一些業(yè)界知名的開源項目也將其默認(rèn) Git 存儲庫的名稱從 master 更改為 main、default、primary、root 等替代名稱。不過,值得注意的是,開源項目的名稱修改也并非想象中那么簡單。在今年6月,React Refresh Webpack Plugin 的開發(fā)者迅速將 master 改成 main ,卻被一個程序員吐槽:因為在 Git 上下文中,單詞 master 的用法與 master/slave 不同,導(dǎo)致所有程序都改變了,最后項目都崩了。由此可見,修改存儲庫默認(rèn)分支的名稱并非一朝一夕的事,需要循序漸進(jìn)。這正如同近日 GitHub 官宣的內(nèi)容:將從10月1日起用 main 代替 master ,但將分階段進(jìn)行。GitHub 用 main 取代 master 舉措落地,開發(fā)者最關(guān)心的事情在這里GitHub 以及龐大的 Git 社區(qū)都在考慮重命名源代碼存儲庫的默認(rèn)分支名稱,而GitHub 選擇用 main 取代 master ,來作為自己存儲庫的默認(rèn)分支名稱,并將分為幾個階段進(jìn)行更改,以盡可能減少對現(xiàn)有項目的破壞。GitHub 建議用戶:如果您尚未重命名默認(rèn)分支,可以考慮等到今年年底。我們正在投資開發(fā)工具,用來重命名現(xiàn)有存儲庫的默認(rèn)分支,從而給維護(hù)者和貢獻(xiàn)者提供無縫的體驗。注意:發(fā)布到特殊的 gh-pages 分支仍可以像以前一樣工作,但是現(xiàn)在可以選擇存儲庫中的其他任何分支作為發(fā)布源。這些設(shè)置涵蓋通過 GitHub.com 和 GitHub API 創(chuàng)建的存儲庫。Git 2.28 添加了類似的設(shè)置來控制在命令行上運行 git init 時使用的默認(rèn)分支。在 Git 2.28 博客文章中可以了解更多有關(guān)新的 init.defaultBranch 的設(shè)置信息。
GitHub Desktop 還將在本月晚些時候為新存儲庫引入默認(rèn)分支設(shè)置。2020年10月1日:新創(chuàng)建的存儲庫都將默認(rèn)為main
自2020年10月1日起,新創(chuàng)建的存儲庫都將使用 main 作為默認(rèn)分支,而不是原本的 master 。但此更改不會影響任何現(xiàn)有存儲庫:現(xiàn)有存儲庫將繼續(xù)保留與之前相同的默認(rèn)分支。
但此更改可以隨時選擇退出,通過以下對應(yīng)網(wǎng)址,可為用戶,組織或企業(yè)的新存儲庫設(shè)置默認(rèn)分支:對于用戶,請訪問 https://github.com/settings/repositories
對于組織所有者,請訪問 https://github.com/organizations/YOUR-ORGANIZATION/settings/repository-defaults
對于企業(yè)管理員,請訪問 https://github.com/enterprises/YOUR-ENTERPRISE/settings/member_privileges
main 是在 GitHub 上看到的最受歡迎的 master 替代詞。并且 main 這個詞匯很短,可以讓用戶形成良好的肌肉記憶;在很多種語言中翻譯起來也很容易。GitHub 目前正將 main 用于新創(chuàng)建的存儲庫以及正在遷移的存儲庫,例如 dependabot-core。重命名默認(rèn)分支肯定會對現(xiàn)有存儲庫帶來很多麻煩:今年年底之前,GitHub 將使現(xiàn)有存儲庫全部無縫重命名其默認(rèn)分支。當(dāng)重命名分支機(jī)構(gòu)后,GitHub 會重新定位未完成的PR和草稿版本、移動分支機(jī)構(gòu)的保護(hù)政策等等——全部都將自動執(zhí)行。并且,GitHub 還正在考慮將 git fetch 或 git clone 舊分支名稱的用戶重定向到新分支名稱(帶有警告和說明以更新其本地克隆)。其實關(guān)于計算機(jī)術(shù)語的政治正確性并不是近幾年才出現(xiàn)的話題,GitHub 在公眾的督促下?lián)Q掉 master 也不是首當(dāng)其沖。早在2004年,master/slave 就曾被全球語言檢測機(jī)構(gòu)評為年度最不政治正確的十大詞匯之一,只是當(dāng)時的軟件開發(fā)和網(wǎng)絡(luò)發(fā)展并沒有如今這么發(fā)達(dá),所以更換術(shù)語這類事就全靠自發(fā)。比如,2008年,開源軟件 Drupal 宣布將 master/slave 重命名為 client/server ,理由是在有更好的替代方案時,繼續(xù)使用冒犯性術(shù)語很不合時宜。之后一直到2018年,IETF 在草案當(dāng)中,提出開源軟件需要更改 master/slave 和 blacklist/whitelist 兩項表述,計算機(jī)術(shù)語的使用才引起了廣泛的關(guān)注。因此同年,許多開發(fā)者就開始呼吁 Redis、谷歌、Python 這些開源軟件廠商修改相關(guān)術(shù)語。但其實反對的聲音也一直很多。其中最重要的兩個理由是:事實上那些倡議者們所追求的,并非完全不能使用“black”這個詞,而是呼吁不要把“biack”作為“white”的對立面,傳達(dá)出“不好”、“需要被限制”等這些負(fù)面含義。所以,當(dāng) master/slave出現(xiàn)在代碼中,表達(dá)的又恰好是“主-從”關(guān)系,就難免讓人想到奴隸制。可是,究其根本,在計算機(jī)術(shù)語中的master、blacklist等詞語,本身并不包含負(fù)面和歧視的意思,卻因為誤解而花費巨大成本修改術(shù)語,是否會有些許過猶不及的意味呢??https://baijiahao.baidu.com/s?id=1669620192902455480&wfr=spider&for=pchttps://www.sohu.com/a/405073858_478315https://www.jiangweishan.com/article/hulianwang0234098230948.html最近面試BAT,整理一份面試資料《Java面試BATJ通關(guān)手冊》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。
獲取方式:點“在看”,關(guān)注公眾號并回復(fù)?Java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。
文章有幫助的話,在看,轉(zhuǎn)發(fā)吧。
謝謝支持喲 (*^__^*)