【问题标题】:Rename remote branch without deleting it重命名远程分支而不删除它
【发布时间】:2020-09-16 22:44:56
【问题描述】:

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

【问题讨论】:

标签: git


【解决方案1】:

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

最好的解决方案(对于 Github)可能是创建一个新的分支和新的拉取请求,对旧的拉取请求发表评论说它“关闭以支持#NEW”和“继续#OLD”到新的.然后删除旧分支,这也会关闭旧的拉取请求。

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

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

remote 很明显 - 例如origin、oldnew 分别是新旧分支的名称。

【讨论】:

    【解决方案2】:

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

    我认为没有其他方法。您可以尝试在 PR 屏幕中更改分支,但我想您已经尝试过了。

    拉取或合并请求不是git 本身的一部分,而是托管服务的一项功能,例如 GitHub 或 BitBucket。因为它是一个标准,所以可以说,实现完全取决于系统。

    【讨论】:

      猜你喜欢
      • 2016-07-08
      • 2011-10-28
      • 2022-08-09
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 2011-06-12
      相关资源
      最近更新 更多