我刚刚重命名了我的本地分支使用

git branch -m oldname newname

但这只是重命名分支的本地版本。我如何在GitHub上重命名一个?


当前回答

以下是对我有效的方法:

首先创建新分支: Git推送github newname:refs/heads/newname 在GitHub网站上,进入设置并将默认分支更改为newname 删除oldname Git推送github——删除旧名

其他回答

你不用终端也能做到。您只需要用新名称创建一个分支,然后删除旧名称。

Create a branch In your repository’s branch selector, just start typing a new branch name. It’ll give you the option to create a new branch: It’ll branch off of your current context. For example, if you’re on the bugfix branch, it’ll create a new branch from bugfix instead of master. Looking at a commit or a tag instead? It’ll branch your code from that specific revision. Delete a branch You’ll also see a delete button in your repository’s Branches page: As an added bonus, it’ll also give you a link to the branch’s Pull Request, if it has one.

我只是复制和粘贴这个内容从:创建和删除分支

就我而言,我需要一个额外的命令,

git branch --unset-upstream

让我的重命名分支推到原点newname。

(为了便于输入),我首先git签出oldname。 然后执行如下命令:

Git branch -m newname <br/> Git push origin:oldname*或* Git push origin——delete oldname Git分支——unset-upstream Git push -u origin newname或Git push origin newname

这个额外的步骤可能只是必要的,因为我(倾向于)通过git push -u origin oldname在我的分支上设置远程跟踪。这样,当我签出oldname时,我随后只需要键入git push而不是git push origin oldname。

如果我没有在git push origin newbranch之前使用命令git branch——unset-upstream, git会重新创建oldbranch并将newbranch推到原点oldbranch——这就违背了我的意图。

只需删除旧的分支并创建新的分支。

示例(仅重命名远程分支):

git push origin :refs/heads/oldname
git push origin newname:refs/heads/newname

您可能还应该重命名本地分支,并更改推/拉位置的设置。

分支重命名现在可以通过GitHub API使用

你可以用GitHub REST API重命名一个分支。

你可以通过gh CLI轻松运行API命令,就像这样:

gh api "repos/{owner}/{repo}/branches/{branch}/rename" -f new_name={newBranch}

这篇文章展示了如何做到这一点非常简单。

要重命名本地Git分支,我们可以使用Git branch -m命令修改名称: Git branch -m feature1 feature2 如果你只是在寻找重命名远程Git分支的命令,这就是它: Git push -u origin feature2:feature3 在执行此操作之前,请检查分支上是否有标记。你可以用git标签做到这一点。