GitHub:重新打开合并的拉取请求


101
  • 我做了一些改变
  • 我提交了请求请求
  • 拉取请求已被接受并合并。
  • 我们发现了一个错误
  • 在我修复错误的同时,更改再次被删除。

现在,我已经修复了该错误,并希望通过1次额外的提交重新提交请求请求。有什么方法可以重新打开拉取请求或对其进行更新,还是我必须创建一个新的拉取请求,再次键入说明等?Gitorious具有此功能,我们最近已移至GitHub。


我今天也遇到类似情况,即使用“合并请求”按钮,默认情况下将更改合并到目标分支并关闭PR。后来我在测试中发现了一个错误,我希望原始开发人员可以修复该错误。我想要一种重新打开此PR的方法,以便可以将更多提交添加到同一PR中,但是由于没有用于重新打开PR的按钮,因此无法这样做。
SBirthare '16

Answers:


114

答案似乎是:您不能。

合并并关闭请求请求后,该请求将永远锁定,无法重新打开。如果您的拉取请求已合并,关闭,则您的更改被拉出(通过在合并之前强制向后推),您将需要向分支添加提交并创建一个新的拉取请求,将所有详细信息复制并可能提供原始拉取请求的链接以手动保存历史记录。

可能是未来GitHub的不错的功能请求。


8
我不知道何时更改,但是您现在可以评论并重新打开已关闭的PR。
LB-- 2013年

16
@LB,看来您无法重新打开已关闭并合并的 PR 。
Kaptur

1
您实际上可以。假设您已经还原了初始合并,则可以创建主存储库的一个分支,然后在这个新分支上,还原正在还原合并的提交。
SsjCosty

7
@SsjCosty但这不是重新打开已关闭并合并的PR。您始终可以打开新的拉取请求,这是您的解决方案所需要的。
亚当·格兰特

1
“对于未来的GitHub来说,可能是一个不错的功能请求。” 实际上,不,不是这样。如果PR在创建后可以重新定义,那么人们在不同时间签出PR的可能性就很大。只需创建另一个PR,并在文本中“提及”先前的PR。如果要引用某种里程碑,则不是PR,而是标签。
Scott Prive

12

我刚刚通过以下方式成功重新打开了拉取请求

  1. 评论拉取请求
  2. 点击评论表单上的“提交并重新打开”按钮。

1
我还没有做到这一点-您能解释一下查看此行为所需的步骤吗?我尝试对关闭的拉取请求进行评论(同工),对关闭的拉取请求进行评论,然后将其推入要拉入的分支(同工作)。还有其他尝试吗?是否需要合并拉取请求,然后稍后以某种方式将其合并?
Michael Parker

我不知道有什么不同的隐藏要求。可以是以下任何一种(已针对拉取请求提交了新的更改,项目所有者的成员等等)
Tim Lovell-Smith

1
现在,我已经尝试了您提到的所有内容,但仍然看不到。我是仓库的所有者。在Google上搜索“提交并重新打开GitHub”提供了一个匹配-此页面。任何进一步的信息将非常有帮助。您的拉取请求最初是否被拒绝?
迈克尔·帕克

52
我可以使用未合并的拉取请求来复制它-但这不是该线程的目的。
Dan Tello

2
是的,他指的是封闭拉,而不是合并拉。
loujaybee 2015年

4

只需从您已经执行了额外1次提交的现有分支中派生一个新分支即可。从那里提交拉取请求。


3
这将导致一个新的请求请求,而没有原始请求的历史记录。
戴夫

1
这就是我最终要做的。是的,历史不是那么线性,但是对我来说还可以。
possen

4

您可以使用还原操作:

在此处输入图片说明

它将创建另一个拉取请求,以撤消合并PR中所做的所有更改。


这不是最佳做法:)
antonbormotov

2
@antonbormotov您可以提出更好的方法吗?
William Weckl

假设,我们已将pr与提交(mA和mB)合并到要还原的稳定分支中。合并“还原” pr后,历史记录将类似于提交树:XY-mA-mB-CD-rA-rB-EF。为什么要在历史记录中看到所有这些提交,它们应用更改(mA,mB),然后取消它们(rA,rB)?最好重新设置基准并从稳定分支中删除那些“错误的”提交mA和mB并保持历史记录干净。当然,合并是相对较新的也是有意义的。
antonbormotov

1
历史不仅看起来丑陋,而且准备就绪后,您也不能再简单地将还原的提交合并回去。
迈克尔

我有一些相似的场景,但有细微的差别。我有需要审查的PR,应该等待其他PR合并。但是我没有看到它,因此过早地合并了此PR。我实际上按照@WilliamWeckl的建议做了。但是现在我想用最初创建的相同更改创建相同的PR。但是,当我创建PR时,master分支没有显示任何区别,尽管当我看到单个文件时,它们是不同的。有什么想法吗?
维卡斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.