GitHub10月开始换master为main:这是开发者需要知道的这一次主角是GitHub,新的术语将从“master”变为“main”。改变的原因应该是显而易见的,但此举是为了摆脱公司对奴隶制的任何提及,并用不会被误解的包容性条款取而代之。这种变化在科技界早就应该发生了,但至少它终于变成了现实。2020年10月1日起,所有“主分支”更名为“主分支”。对于使用Git和GitHub多年的开发人员来说,这种变化需要一段时间才能适应。多年来,手指习惯于输入gitcheckoutmaster,即使您知道更改是正确的事情。现在你想改为gitcheckoutmain。我预计会有许多其他技术跟进,因此开发人员很可能会在某个时候对他们使用的许多工具进行类似的更改。但GitHub不同。GitHub被数以百万计的开发人员使用,其中一些人单独使用,但也有许多人一起工作。这意味着更改将是全局的和项目范围的。关于GitHub上的这一变化,开发人员需要了解什么?除了术语的变化,这对您有何直接影响?看一看。首先,GitHub做了如下改动:GitHub.com分支名称为“master”的链接已被重定向到“main”。GitHub页面已更新为从任何分支部署。GitHub添加了用户、组织和企业设置,以便开发人员可以为所有新建的存储库设置默认分支名称。2020年10月1日,新创建的仓库将默认为“main”。现有存储库将具有与现在相同的默认分支,此更改不会影响现有存储库。用户、组织和企业可以在以下位置选择退出此更改:用户:https://github.com/settings/repositories组织所有者:https://github.com/organizations/YOUR-ORGANIZATION/settings/repository-defaults企业管理员:https://github.com/enterprises/YOUR-ENTERPRISE/settings/member_privileges到今年年底,所有现有的存储库都将切换到新的命名约定。这提出了一组独特的挑战,包括:开放的合并请求被定向到新命名的分支;草案版本必须指向新命名的分支;并且分支保护策略必须转移到新命名的分支。GitHub的意图是确保到今年年底,所有存储库都能够无缝地重命名默认分支。这意味着当你重命名一个分支时,GitHub会自动重定向打开的合并请求和草稿版本,并迁移分支保护策略。GitHub还希望能够重定向使用gitfetch或gitclone的用户,将旧分支名称更改为新分支名称。您可能认为所有这些更改应该是轻而易举的事,但考虑到GitHub拥有超过4000万用户、超过1亿个存储库和至少2800万个公共存储库,这是一项艰巨的任务。一个计划不周的举动可能会导致像Linux内核这样的项目发现他们的代码无法访问。鉴于全球有大量企业依赖Linux内核,这样的事件可能是灾难性的,因此GitHub做好自己的工作至关重要。如何将GitHub项目的默认分支从master迁移到main?在GitHub做功课的同时,您可以采取的最重要的步骤是将所有项目的默认分支从“master”迁移到“main”。否则,您将依赖GitHub创建的工具来自动化该工作。我将非常笼统地介绍要采取的步骤。在做任何事情之前,备份你所有的工作——你不想因为分支重命名而丢失数据。将主分支移动到主分支:gitbranch-mmastermain将新命名的主分支推送到GitHub(假设这是您的远程存储库):gitpush-uoriginmain将HEAD指向主分支:gitsymbolic-refrefs/remotes/origin/HEADrefs/remotes/origin/main现在您需要将“main”设置为您在GitHub上的项目的默认分支。为此,请登录您的GitHub帐户,打开项目的存储库,然后单击设置|分支机构。在左侧边栏中,单击“Branches”并从下拉列表中选择“Main”作为默认值。点击“更新”,出现提示时,点击“我明白”。现在,返回到终端并执行以下命令:gitpushorigin--deletemaster这应该可以解决问题。关于分裂的技术术语还有更多工作要做我希望科技界会效仿GitHub并删除所有分裂的术语。Go和谷歌的Android和Chrome等项目已经在努力实现这一改变。尽管Kubernetes使用“节点”和“副本”等术语,但截至2020年6月,仍有200多行Kubernetes代码提到“从属”。在这方面还有很多工作要做,但技术是灵活的,负责开发它的人正在展望未来。通过集体推动,可以从整个生态系统中删除有争议的术语。原标题:GitHub十月起用main代替master:开发者现在需要做什么,作者:JackWallen
