Skip to main content

重命名分支

您可以更改仓库中分支的名称。

谁可以使用此功能?

People with write permissions to a repository can rename a branch in the repository unless it is the default branch or covered by a branch protection or ruleset. People with admin permissions can rename the default branch and protected branches.

关于重命名分支

您可以在存储库中重命名分支GitHub.com。 有关分支的详细信息,请参阅“关于分支”。

重命名分支后,任何包含旧分支名称的网址都会自动重定向到重命名后分支的等效 URL。 还更新了分支保护政策以及打开的拉取请求(包括复刻的拉取请求)的基础分支和草稿版本。 如果重命名的分支是一个打开的拉取请求的主分支,那么该拉取请求将被关闭。

如果存储库的默认分支被重命名,GitHub 会在存储库的主页上提供说明,引导参与者更新他们的本地 Git 环境。

虽然文件 URL 会自动重定向,但原始文件 URL 未被重定向。 此外,如果用户对以前的分支名称执行了一个git pull操作,GitHub不会执行任何重定向。

          GitHub Actions 工作流不遵循重命名,因此,如果您的存储库发布了一个操作,任何使用该操作的 `@{old-branch-name}` 都将无法正常工作。 应考虑添加一个包含原始内容的新分支,并附加一个提交来报告分支名称为 弃用,同时建议用户迁移到新的分支名称。

谁可以重命名分支

大多数分支都可以由具有存储库 写入 权限的任何用户重命名。

某些分支只能由存储库管理员重命名:存储库的默认分支,以及分支保护或存储库级分支规则集涵盖的任何分支。

当组织级或企业级规则集面向存储库中的分支时,重命名这些分支通常需要组织或企业管理员。

但是,组织和企业所有者可以允许存储库管理员重命名这些规则集涵盖的分支,前提是新分支名称仍受与当前名称相同的所有规则的约束。 在规则集发挥作用时,更改默认分支仍需要组织或企业管理员。

有关详细信息,请参阅 允许存储库管理员使用组织规则集重命名分支在企业中实施仓库管理策略

存储库管理员可创建和删除分支,只要其具有适当的权限。

重命名分支

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在左侧的文件树状视图中,选择 分支下拉菜单,然后单击“View all branches”****。 还可以在集成的文件编辑器顶部找到分支下拉菜单。

    存储库的文件树视图的屏幕截图。 分支的下拉菜单已展开,并用深橙色框出。

  3. 在要重命名的分支旁边,选择 下拉菜单,然后单击“ 重命名分支”。

  4. 为分支输入新名称。

  5. 查看有关本地环境的信息,然后单击“重命名分支”。

在分支名称更改后更新本地克隆

在存储库 GitHub中重命名分支后,任何具有存储库本地克隆的协作者都需要更新克隆。

从计算机上的仓库本地克隆中,运行以下命令以更新默认分支的名称。

git branch -m OLD-BRANCH-NAME NEW-BRANCH-NAME
git fetch origin
git branch -u origin/NEW-BRANCH-NAME NEW-BRANCH-NAME
git remote set-head origin -a

(可选)运行下面的命令来删除对旧分支名称的跟踪引用。

git remote prune origin