如何重命名默认 Git 分支以及为什么要重命名

如果您已经使用 Git 一段时间了,您可能会遇到术语master 。当您运行git statusgit branch时,您可能已经看到了它。

这是一个有点过时的短语,您可能想知道它来自哪里或如何更改它。无论您是命令行用户还是 GitHub 粉丝,您都可以更改分支名称,甚至将默认分支名称设置为适合您需要的名称。

什么是默认分支?

每个全新的 Git 存储库都有一个默认分支,即使它并没有真正分支出任何东西!分支只是提交引用,并且总是有一个指向当前分支的 HEAD 引用。

从历史上看,Git 将该默认分支命名为master 。尽管您可以重命名它,但许多人坚持使用默认值,因此您会看到许多项目使用 master 作为其默认分支。

分支命名和 Master 被淘汰的原因

当您使用git init创建新存储库时,最新版本的 Git(2.28 及更高版本)会产生以下提示:

使用“master”作为初始分支的名称。此默认分支名称可能会更改。要配置在所有新存储库中使用的初始分支名称,这将抑制此警告,请调用: git config –global init.defaultBranch <name> 通常选择而不是 'master' 的名称是 'main', 'trunk'和“发展”。刚刚创建的分支可以通过这个命令重命名: git branch -m <name>

主/从术语在计算领域有着悠久的历史,尤其是在涉及磁盘驱动器等硬件方面。其他版本控制系统,例如 Git 的前身 BitKeeper,也使用了该术语。然而,该术语因其与殖民主义的联系而变得有些过时。

Git 维护者与更广泛的开发社区合作解决这些问题。除了它可能引起的任何冒犯之外, master无论如何都不是一个特别具有描述性的名称。它暗示与某个其他未命名实体的关系,但它并不代表初始分支的唯一状态。许多人认为名称main可以更好地描述这个分支及其典型用法。

名称 main 很短,易于翻译,并且很常用。如果您需要重新训练肌肉记忆,它以与 master 相同的两个字母开头的事实可能会有所帮助。

如何使用命令行 Git 进行更改

正如 Git 本身解释的那样,您可以使用以下命令配置默认分支名称:

 git config --global init.defaultBranch main

–global确保此设置适用于当前用户创建的所有存储库。

另请参阅:如何在 Linux 上安装和配置 Git

设置后,新存储库将使用新的默认名称:

 $ git init
Initialized empty Git repository in /private/tmp/bar/.git/
$ git status -sb
## No commits yet on main

请注意,您也可以随时使用 -m 选项重命名分支,例如

git branch -m main

有一天,Git 可能会为您进行这一更改,默认情况下为所有新存储库使用名称main 。知道如何自己更改它仍然很有用,并且您可能对main以外的名称有个人或团队偏好。

如何在 GitHub 中设置默认分支名称

在 GitHub 上创建的分支现在自动命名为 main 而不是 master。但是,您仍然可以按照以下步骤更改此默认值的名称:

  1. 通过右上角的个人资料照片打开设置
  2. 单击左侧菜单中的存储库
  3. Repository default branch部分下,选择一个备用名称。
  4. 单击更新

相关:什么是 GitHub?基本功能介绍

控制 Git 的默认分支名称

Git 历史上将其默认分支命名为master ,但您不必保持这种方式!

无论您认为替代方案更具包容性、更易于理解,还是只是输入更短,都可以轻松更改。默认分支只是 Git 庞大曲目中的一小部分。要将您的 Git 技能从初学者提升到高级,请查看我们接下来的综合指南。