了解Git的同学都知道,Git存储库初始化以后默认都有一个主分支,该分支名称一直以来都是master。据说,这个默认名称是源于Git开始以前的一个商用版本管理Bitkeeper。当时教主Linus使用它来管理Linux内核项目,后来因为种种原因Linux内核项目不能再使用Bitkeeper,所以教主创建了Git,并在两周内实现了基本功能,这也成了开源软件史上的一个佳话。
近年来由于“BLM”运动,master这个名字也成了某些人群的矢的,鉴于此开源社区也只有默默地改名字了。
2020年7月Git 2.28.0新添加了init.defaultBranch 配置选项,允许Git用户定义和配置默认分支名称,而不是 master。2020年6月,SFS发布了一份声明, 总结了为什么默认术语 master由于其历史悠久,因此对许多(?)用户都具有冒犯性。
Git维护者正在积极努力,将默认名称永久更改为 master 到 main。这项工作的很大一部分涉及更新所有现有测试 Git项目中的 。
Github已经于2020年10月起,默认主分支名称变更为main.
GitLab此前,已经引入了配置,允许用户在都更改默认分支名称 实例级别 (自建实例)和 组级别 (对于SaaS和自建实例)。日前Gitlab又发布了默认分支更改的计划,意味着Gitlab也全面妥协。
Gitlab分支更改计划
GitLa的默认分支从 master变更为main,计划分两个阶段来实现:
首先,阶段一,计划将GitLab的基础Git版本更新为2.31.0,作为GitLab的13.11版本的一部分,于2021年4月22日发布。分支名称的更改将带有功能标记。从GitLab创建的项目将继续使用当前的默认分支名称 master.
阶段二,将在2021年5月22日发布的Gitlab大版本14.0中删除功能标记。在GitLab中创建的所有项目都将使用默认的分支名称:main.
必要措施
自建实例的实例升级到GitLab 14.0时,将使用通过GitLab GUI创建的新项目 main作为默认的分支名称。如果项目正在运行在另一个项目中配置的CI/CD作业,则对以下相关变量硬编码引用master将需要更新以使用 main或使用默认的分支名称 CI / CD变量 ,例如 CI_DEFAULT_BRANCH。还可以继续使用 master通过配置 自定义的默认分支名称 。
GitLab项目(及其相关项目)的默认分支名称更改
GitLab项目及其相关项目将从以下位置更改其默认分支名称:master 到 main。一些项目已经更新(例如 GitLab Shell ),计划从现在到2021年5月22日发布14.0之间进行更新。
在切换期间您为GitLab项目创建了一个贡献并且仍在使用 master 本地分支,则在推送使用新的默认分支名称之前,需要重新设置更改的基础 main.
领取专属 10元无门槛券
私享最新 技术干货