git:重命名远程分支?
如果有一个仓库,我只有git://访问(通常只需push + pull),有没有一种方法可以像在本地使用git branch -m
一样对存储库中的分支进行重命名?
您只需创建一个具有所需名称的新本地分支,将其推送到您的远程,然后删除旧的远程分支:
$ git branch new-branch-name origin/old-branch-name
$ git push origin --set-upstream new-branch-name
$ git push origin :old-branch-name
然后,要查看旧的分支名称,存储库的每个客户端都必须执行以下操作:
$ git fetch origin
$ git remote prune origin
注意:如果您的旧分支是您的主分支,您应该更改您的主分支设置。 否则,当你运行$ git push origin :old-branch-name
,会出现“禁止删除当前分支”的错误。
如果您真的只想远程重命名分支, 而无需同时重命名任何本地分支,则可以使用单个命令执行此操作:
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
我写了这个脚本(git-rename-remote-branch),它提供了一个方便的快捷方式来轻松完成上述操作。
要集成@ ksrb的评论:这基本上做的是两个推入一个命令,第一个git push <remote> <remote>/<old_name>:refs/heads/<new_name>
来推送一个基于旧远程的新远程分支跟踪分支,然后git push <remote> :<old_name>
删除旧的远程分支。
首先检查你想重新命名的分支
git branch -m old_branch new_branch
git push -u origin new_branch
从远程删除旧分支:
git push origin :old_branch
链接地址: http://www.djcxy.com/p/2605.html
上一篇: git: renaming branches remotely?
下一篇: move a branch path in git (change its name, not its code)