在Git仓库中更改分支名称

Ale*_*lex 275 git git-branch

如何重命名Git仓库中的现有分支?

我希望当前分支有一个新名称.

Ric*_*arn 452

假设您当前在分支上,则要重命名:

git branch -m newname
Run Code Online (Sandbox Code Playgroud)

这可以在手册中记录git-branch,您可以使用它查看

man git-branch
Run Code Online (Sandbox Code Playgroud)

要么

git help branch
Run Code Online (Sandbox Code Playgroud)

具体来说,命令是

git branch (-m | -M) [<oldbranch>] <newbranch>
Run Code Online (Sandbox Code Playgroud)

参数是:

   <oldbranch>
       The name of an existing branch to rename.

   <newbranch>
       The new name for an existing branch. The same restrictions as for <branchname> apply.
Run Code Online (Sandbox Code Playgroud)

<oldbranch> 如果要重命名当前分支,则是可选的.

  • 此外,如果您已将旧分支推送到远程分支,则可以使用`git push origin:branchname`将其删除.这将允许您推送新的并删除旧的,基本上重命名它在遥控器上. (32认同)
  • 或者``git branch -m other-branch renamed-other-branch`如果你不是. (10认同)

小智 154

如果您当前在分支机构上,则要重命名:

git branch -m new_name 
Run Code Online (Sandbox Code Playgroud)

要不然:

git branch -m old_name new_name 
Run Code Online (Sandbox Code Playgroud)

您可以查看:

git branch -a
Run Code Online (Sandbox Code Playgroud)

如您所见,只有本地名称更改为Now,要更改遥控器中的名称,您必须执行以下操作:

git push origin :old_name
Run Code Online (Sandbox Code Playgroud)

这将删除分支,然后使用新名称上传它:

git push origin new_name
Run Code Online (Sandbox Code Playgroud)

来源:https://web.archive.org/web/20150929104013/http : //blog.changecong.com : 80/ 2012/10/ rename-a-remote-branch-on-github

  • 我认为这是正确的答案,Richard Feam的高度评价的回答只涵盖了当地的回购,这个回答涵盖了远程. (11认同)
  • 同意上面的评论,这个答案在我的案例中更完整.此外,当我在完成本答案中提到的所有步骤后将其他提交推送到远程分支时,git尝试再次推送到`old_name`分支.幸运的是,git还在命令行中提供了一个修复程序:`git-branch --unset-upstream`.在此之后,所有推送的提交都转到了`new_name`远程分支. (4认同)
  • 请注意,这样一来,您就失去了使用git push进行推送的能力,因为您警告说:“您的分支基于'old_name,但是上游不存在了。”`git push -u origin new_name`可以解决此问题。 (2认同)