点击上方“Github爱好者社区”,选择星标
回复“资料”,获取小编整理的一份资料
作者:GG哥
来源:GitHub爱好者社区(github_shequ)
这是GitHub爱好者社区第 53 篇原创文章
Hello,大家好,我是GG哥!
最近GitHub宣布了一个重要的事情,从2020年10月1日起,在GitHub默认创建的仓库不再用master 分支,而全部替换成 main 分支。
这到底是怎么回事,好好的master,怎么就不能用了呢?
早在今年的6月12日,谷歌浏览器开发人员 Una Kravets 的一条 Twitter 火了,内容是建议 GitHub 用 main 之类的中性术语替换 master ,并解释了提出这个建议的原因:
main 更短,简洁明了;
容易被人记住;
会让我的队友们感到舒适;
不会让黑人在科技界感到被歧视;(注:master是一个容易让人联想到奴隶制的术语。)
对此 GitHub 的 CEO 对此回应到:“提议非常好,我们已经在执行了。”
再一个,美国今年各种黑人示威运动频频发生。继续使用带有种族色彩的词汇可能会加深种族歧视,这实在令人担忧。一些学者也认为:这些术语不仅反映了种族主义文化,而且还强化、合法化和延续了它。”因为美国 “Black Lives Matter” 运动愈演愈烈,技术界再次掀起了在源码、软件应用开发中删除此类词汇的浪潮。
因此 GitHub 于今年6月表示,公司正在努力以 main 之类的中性术语替换 master 一词,以避免不必要的联想到奴隶制。具体的更换有:master 和 slave 将被替换为 main/default/primary 和 secondary,whitelist 和 blacklist 则将被替换为 allow list 和 deny/exclude list 。也就是我们平时用的术语写的白名单,黑名单,都要换一种说法了。
为什么会选择「main」作为替代?GitHub 官方解释说,「『main』是我们在 GitHub 上看到的最受欢迎的替代词。我们喜欢这个词,因为它很简短、能完整地保留你的肌肉记忆,而且翻译成多种主流语言都很通达。」作为表率,我们看到 GitHub 的库早就用上了新命名。
不过,GitHub 补充说,「这项变更不会影响你的现有库,也就是说,现有库的默认分支命名保持原状。」
对此,GitHub 解释说,「现有库的重新命名会造成很多问题,」比如必须编辑拉取请求的设置以及修改安全政策。
对于 GitHub 将「master」替换成「main」这一做法,网友和个公司看法不一。支持者很多,中立网友表示无所谓,但也有人表示不理解。
包括微软、IBM、红帽、Linux等公司和以及热门开源项目都表示支持这一举措,旨在删除不必要的奴隶制相关术语,使用更具有包容性的术语进行取代。GitHub仓库是开发者和公司就行存储和同步更新源代码的地方,以后默认情况下,就会使用main来代表仓库的主要版本。
虽然这个改变很小,对于我们这些普通开发者用户来说只是一个习惯性上的小小转变而已,但是改变的初衷是好的,可以看出GitHub的更多包容性,希望它能够在全球范围内更加公平更加理性,毕竟技术无国界,技术面前人人平等。
但是也有网友表示没有必要,用的好好的master,会不习惯main
有中立网友表示,他不在乎如何命名,master 也好,main 也罢,或者 trunk、trump 其他名称。这只是一个概念,如果将「master」改成「main」能够令更多人感到舒服,那就改吧。
那问题来了,如何把默认分支改成main呢?GG哥亲测,只需要5步就行
# Step 1 # create main branch locally, taking the history from master git branch -m master main # Step 2 # push the new local main branch to the remote repo (GitHub) git push -u origin main # Step 3 # switch the current HEAD to the main branch git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main # Step 4 # change the default branch on GitHub to main # https://docs.github.com/en/github/administering-a-repository/setting-the-default-branch # Step 5 # delete the master branch on the remote git push origin --delete master对此大家怎么看?
好啦,今天的分享就到这儿啦,当然还有多多对我的在看转发支持啦,你们的“在看转发”也是我源源不断创作的动力呀...我们下次见啦~ GitHub原创推荐• 这个仿京东电商项目强势开源,前端,后台,数据库等统统都有!• 国外110K star的前端开发学习路线开源了,学不会前端算我输!• 牛! 这个小伙的刷题项目开源GitHub,真的超级全和详细!• 一款Flutter仿微博客户端开源啦!这个功能真是绝了!关注「Github爱好者社区」加星标,每天带你逛Github好