在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