0%

将GitHub默认分支名由main更换回master

完成软件构造课程的实验时,我在指导手册中看到如下的一段话:

提交到 GitHub 仓库后,TA 会读取你的 master 分支。如果你在其他分支上开发,提交前请务必将最新修改合并至 master 分支。如果实验要求你设置其他分支,也请务必将各分支指向正确的 commit,TA 根据分支名来获取你的代码。

然而,GitHub在2020年宣布开始逐步将默认分支名由 master 更改为 main,该项目的官方仓库如下:Renaming the default branch from master。现在,在GitHub上创建的新仓库的默认分支名称为 main。遂向老师确认是否需要将默认分支修改回 master,得到了肯定的答案(Piazza问题链接)。

本文记录将默认分支由 main 分支修改为 master 的全过程。

首先展示一下我当前仓库的分支,执行命令:

1
git branch -a  # -a表示列出所有分支,包括本地分支和远程分支

即本地和远程仓库都只有一个main分支。此时我已经进行了部分commit和push,故不能简单地在GitHub页面上更改。总地来说,需要进行以下几步:

  1. 将本地的 main 分支更名为 master

  2. 将本地的 master 分支push到远程仓库

  3. 在GitHub上将默认分支修改为 master

  4. 删除远程的 main 分支

将本地的 main 分支更名为 master

在Git命令中,修改分支名的操作为:

1
git branch -m old_name new_name

因此,执行一条Git命令即可:

1
git branch -m main master

将本地的 master 分支push到远程仓库

1
git push origin master

push结束后,再次查看分支,可以看到远程仓库已经有两个分支:mainmaster

打开GitHub仓库页,从红框所示部分也可以看到:

在GitHub上将默认分支修改为 master

在仓库页单击Settings -> Branches,在Default branch一栏将会看到当前的默认分支,即 main 分支。如下图所示,单击右侧的 ⇌ 按钮,选择默认分支为 master 分支后单击Update,就在GitHub上完成了默认分支的修改。

删除远程的 main 分支

此时 master 分支已经设置完毕,但远程还有一个没用的 main 分支需要删除。执行push操作,删除远程的 main 分支:

1
git push --delete origin main

再次列出分支,发现远程的 main 分支已消失,同样在GitHub上也可以看到只剩下了一个 master 分支。

至此,本地和远程仓库的默认分支均由 main 更换为 master

参考链接

git修改分支名称 - 简书