在 github 中重命名分支

Posted

技术标签:

【中文标题】在 github 中重命名分支【英文标题】:Renaming branch in github 【发布时间】:2017-04-27 12:20:19 【问题描述】:

我想将分支从“master”重命名为“introduction”。我找到了不同的链接,但让我感到困惑。有什么帮助吗?

我试过了,但是没用。

git branch -m old_branch new_branch         # Rename branch locally    
git push origin :old_branch                 # Delete the old branch    
git push --set-upstream origin new_branch   # Push the new branch, set local   
branch to track the new remote

【问题讨论】:

Renaming a branch in github的可能重复 @Dario 这有什么帮助?他完全按照公认的答案做了,但没有成功。 @Theo “没用”是什么意思?您收到错误消息了吗? @Vampire。我到了我的 github,我看到了 master 分支。它没有被重命名。 但是您在发出这些命令时是否遇到任何错误?也许您必须更改 GitHub 上的默认分支才能正常工作 【参考方案1】:

转到https://github.com/<user>/<project>/settings/branches 并将默认分支更改为不是您要删除的分支,然后重试。您不能删除 GitHub 中的默认分支。

【讨论】:

酷。我现在可以看到介绍分支了!感谢那。但是,我相信应该有一种方法可以删除 master 分支。我的意思是从终端(在我的情况下为 gitbash)。 只要在 GitHub 中配置为默认分支即可。 GitHub 不允许删除正在使用的默认值。 ;-)【参考方案2】:

1/ 正确的顺序是:

git branch -m old_branch new_branch         # Rename branch locally    
git push --set-upstream origin new_branch   # Push the new branch, set local   
branch to track the new remote

# go to GitHub and select new_branch as your default one

git push origin :old_branch                 # Delete the old branch    

2/Starting July 2020:

已删除分支的链接现在重定向到默认分支

以前,当在 GitHub 上删除分支时,任何包含旧分支名称的链接都会在 ***、电子邮件、Slack 和其他集成中中断。

已删除分支的链接现在重定向到默认分支。

因此,例如,链接 https://github.com/dependabot/dependabot-core/blob/master/README.md 现在将重定向到默认分支上的等效链接:https://github.com/dependabot/dependabot-core/blob/main/README.md。

此更改仅影响视图链接;其他类型的链接(如编辑链接和责备链接)不会重定向。

此更改是 GitHub 为支持想要重命名其默认分支的项目和维护者所做的众多更改中的第一个。 要详细了解我们正在进行的更改,请参阅 github/renaming

3/ 从 2021 年 1 月开始

这是直接支持的。

见“Renaming a branch in GitHub”

【讨论】:

GitLab 当然也不甘落后:about.gitlab.com/releases/2020/07/22/gitlab-13-2-released/…

以上是关于在 github 中重命名分支的主要内容,如果未能解决你的问题,请参考以下文章

在 TFS 2012 中重命名分支的后果是啥?

在 bitbucket 中重命名合并的分支名称

在 Gitkraken 中重命名分支?

text 在GIT中重命名分支

markdown 在Git中重命名远程分支

text 在git中重命名本地和远程分支