每个Git存储库都有一个初始分支,它是生成新存储库时要创建的第一个分支。从历史上看,这个初始分支的默认名称是Master。这个术语来自比特守人,是一个git的前身。比特守人称为真理源作为"主存储库"和其他副本作为"奴隶存储库"这表明了常见的主/奴隶引用已经是技术的,并且难以知道应该如何解释术语主人的方式。
与更广泛的社区协调的Git项目维护者一直在倾听开发社区关于确定更具描述性和包容名称的反馈,并为默认分支提供更改用户选项,以更改默认分支名称(通常是Master)的名称他们的存储库。对此目标已经有重要步骤:
git 2.28.0于2020年7月发布介绍了init.defaultbranch配置选项,允许Git用户定义和配置Master以外的默认分支名称。 2020年6月,软件自由保护公布了一份声明,总结了默认术语大师因其历史而对许多用户攻击的原因。
Git维护者正积极努力从掌握到主要名称的永久性更改。您可以从Git邮件列表中阅读此帖的更多信息。这项努力的很大一部分涉及更新Git项目中的所有现有测试。
Gitlab已经引入了更改,允许用户在实例级别(用于自我管理的用户)和组级别(对于SaaS和自我管理用户)来更改默认分支名称。为了进一步与社区对齐,我们将在即将发布的版本中进行以下更改:
Gitlab.com和自我托管用户的默认分支名称更改:在Gitlab中创建新项目时,默认分支名称将从主设备更改为主。我们计划在两个阶段实施这一变化:
第1阶段:我们计划更新Gitlab'将底层Git版本到2.31.0作为Gitlab的13.11发布的一部分,在4月22日发布的一部分。分支名称更改将在特征标志下发货。从Gitlab创建的项目将继续到当前的Master的默认分支名称。
第2阶段:我们将删除该功能标志作为下一个主要版本14.0的一部分,2021年5月221.在Gitlab中创建的任何项目都将使用Main的默认分支名称。
所需的操作:将自动纳入实例升级到Gitlab 14.0时,通过Gitlab GUI创建的新项目将主要用作默认分支名称。如果您的项目运行在另一个项目中配置的CI / CD作业,则需要更新对MASTER的硬编码引用以使用MAIN或使用默认分支名称CI / CD变量,例如CI_DEFAULT_BRANC。您可以通过配置自定义默认分支名称来继续使用Master。
默认分支名称更改Gitlab项目(及其相关项目):Gitlab项目及其相关项目将从Master将其默认分支名称更改为Main。有些项目已经更新(例如Gitlab shell),我们计划在现在和5月22日在221年5月221日之间更新剩下的休息。
所需的操作:如果在切换期间为Gitlab项目创建了贡献,并且仍然在本地使用主分支,您将需要在推送之前绑定您的更改以消耗Main的新默认分支名称。
请注意,这将仅影响在Gitlab中创建的新项目。现有项目不会受到影响。您可以了解有关默认分支重命名史诗中的更改的更多信息。
我们欢迎主要用作更包容的违约分公司,并且很高兴看到我们的GitHub和亚特萨斯的同龄人也支持这一变化。