Git 重命名远程分支而不删除它

Git 重命名远程分支而不删除它,git,Git,我需要您的帮助来重命名远程分支。 我创建了一个PR,但现在需要重命名远程分支名称。 我不想遵循必须重命名本地分支然后推送并删除旧分支的过程,因为这将清除PR。 有没有办法重命名远程分支,PR应该保持原样。谢谢 我不想遵循必须重命名本地分支然后推送和删除旧分支的过程 我想没有别的办法了。您可以尝试在PR屏幕中更改分支,但我想您已经尝试过了 拉取或合并请求不是git本身的一部分,而是托管服务(如GitHub或BitBucket)的一个功能。作为一个标准,也就是说,实现完全取决于系统。在Git中重命名

我需要您的帮助来重命名远程分支。
我创建了一个PR,但现在需要重命名远程分支名称。
我不想遵循必须重命名本地分支然后推送并删除旧分支的过程,因为这将清除PR。
有没有办法重命名远程分支,PR应该保持原样。谢谢

我不想遵循必须重命名本地分支然后推送和删除旧分支的过程

我想没有别的办法了。您可以尝试在PR屏幕中更改分支,但我想您已经尝试过了


拉取或合并请求不是git本身的一部分,而是托管服务(如GitHub或BitBucket)的一个功能。作为一个标准,也就是说,实现完全取决于系统。

在Git中重命名远程分支实际上只是创建一个具有相同提交和新名称的新分支,并删除旧分支。根据您打开拉请求的位置(您没有提到是Github、Gitlab、Phabricator还是其他什么),您可能会有一些选项,这些选项是通过在存在拉请求的存储库上本地操作的工具提供给您的。我只能说,对于Github,没有在接口中重命名分支的选项,也没有在pull请求中更改“compare”分支的选项

最好的解决方案(对于Github)可能是创建一个新的分支和新的拉请求,在旧的拉请求上发布一条注释,说明它“关闭以支持#新”,并在新请求上“继续#旧”。然后删除旧分支,这也将关闭旧的请求

用于删除旧分支和创建具有相同内容的新分支的快速oneliner是:

git push <remote> <remote>/<old>:refs/heads/<new> :<old>
git-push/:refs/heads/:

其中,
remote
很明显-例如来源,
old
new
分别是新旧分支机构的名称。

据我所知,这可能是不可能的,但本文中提到了一种替代方法: