在github中重命名一个分支

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

git branch -m oldname newname

但是这只会重命名分支的本地版本。 我如何重新命名github中的一个?


如前所述,删除Github上的旧版本并重新推送,尽管使用的命令比必要的更冗长:

git push origin :name_of_the_old_branch_on_github
git push origin new_name_of_the_branch_that_is_local

简单。 有点解剖命令,git push命令本质上是:

git push <remote> <local_branch>:<remote_branch>

因此,在没有指定local_branch的情况下进行推送实质上意味着“从我的本地存储库中不采取任何操作,并将其设置为远程分支”。 我一直认为这是完全混乱的,但它是完成的方式。

编辑:从Git 1.7开始,有一个用于删除远程分支的备用语法:

git push origin --delete name_of_the_remote_branch

编辑:如评论中@ void.pointer所述

请注意,您可以合并2个推送操作:

git push origin :old_branch new_branch

这将同时删除旧分支并推送新分支。

这可以变成一个简单的别名,它将~/.gitconfig的远程原始分支和新分支名称作为参数:

[alias]
    branchm = "!git branch -m $2 $3 && git push $1 :$2 $3 -u #"

用法:

git branchm origin old_branch new_branch

请注意,shell命令中的位置参数在git的旧版本(2.8之前的版本)中存在问题,因此别名可能会因git版本而异。 详情请参阅此讨论。


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

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

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

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


以下命令适用于我:

git push origin :old-name-of-branch-on-github
git branch -m old-name-of-branch-on-github new-name-for-branch-you-want
git push origin new-name-for-branch-you-want
链接地址: http://www.djcxy.com/p/15819.html

上一篇: Renaming a branch in github

下一篇: How to rename a git branch locally and remotely?