在拉取请求时重命名分支

时间:2013-11-15 17:58:40

标签: git github pull-request

在Github上,您可以发出拉取请求以向项目添加功能。一个人的贡献必须在一个分支上,如果请求被接受,将被合并到项目的主分支(或类似的分支)中。

现在,我在Github上提交了一个pull请求,我的贡献在一个名为patch-1的分支上。我可以通过

在本地修改分支的名称
git branch -m patch-1 newname

原则上我也可以按照this answer中的说明在Github上的分叉回购中重命名。实际上,这是通过删除我的案例中的旧分支patch-1并使用其他名称newname重新填充来实现的。

当它构成一个拉取请求时,是否允许在Github上的分叉存储库中重命名分支patch-1? 或者它会导致拉取请求管理出现问题?

当该分支是拉取请求时,有没有办法在Github上的分叉存储库上重命名分支?

3 个答案:

答案 0 :(得分:85)

"重命名" git中的远程分支,如您提供的链接所示,实际上只是删除一个分支,然后推送一个具有相同提交哈希但新名称的新分支。如果您为分支补丁1打开了拉取请求,则在删除该分支时,拉取请求将被关闭。

因此,不能在没有删除分支并删除拉取请求的情况下打开拉取请求来重命名分支。但是,没有什么可以阻止你这样做,推动一个新的分支,并创建一个新的拉取请求。

答案 1 :(得分:16)

简答:

没有

替代方法:

  1. 使用新的(重命名的)分支
  2. 打开一个新的PR
  3. 关闭引用新PR的旧PR(例如,关闭以支持#new_pr_id)
  4. 修改新PR的描述(例如,Supersedes #old_pr_id)
  5. (可选)对旧PR
  6. 的相关讨论发表评论

    注意:

    需要更改的远程分支(构成PR)的名称,因为构建系统需要以分支机构ID结尾的分支机构名称。然而,PR在官方门票创建之前(从规格)开放,并且包含了有价值的讨论。所描述的方法是使构建系统工作的唯一方法,也不会丢失任何信息(尽管跟踪它有一个额外的步骤)。

答案 2 :(得分:12)

简答:

是的,对于目标分支。自 2021 年 1 月

详情

参见“Support for renaming an existing branch”。

rename branch dialog -- https://i2.wp.com/user-images.githubusercontent.com/2503052/105069955-a231fa80-5a50-11eb-982c-a114c9c44c57.png?ssl=1

How do I rename branch on the GitHub website?”中的详细信息。

github/renaming 开始,这将重新定位所有打开的拉取请求。

正如 charlie Harding 在评论中添加的那样:

<块引用>
  • “将更新 4 个针对此分支的拉取请求”意味着它将更改拉取请求要合并到的分支
    无论如何,这以前可以通过这些 PR 的页面实现。
  • 另一方面,尝试重命名作为 PR 来源的分支将导致该 PR 被关闭(“将关闭此分支的 1 个打开的拉取请求。”)。