2012-10-01 84 views
60
  • 我做了一些改變
  • 我提交pull請求
  • 拉請求被接受和合並。
  • 我們發現了一個bug
  • 我修復了這個錯誤後再次移除了這些修改。

我已經修復了這個錯誤,並希望重新提交一個額外提交的請求。有什麼方法可以重新打開請求或更新它,或者我是否必須創建新的請求,再次輸入說明等? Gitorious有這個功能,我們最近搬到了GitHub。GitHub上:重新打開合併拉請求

+0

我今天處於類似的情況,即使用「合併拉取請求」按鈕,默認合併更改到目標分支並關閉PR。後來我發現了一個我希望原始開發人員修復的測試問題。我想要一種方法來重新打開這個PR,這樣可以將更多的提交添加到同一個PR中,但是不能,因爲沒有用於重新打開PR的按鈕。 – SBirthare

回答

70

答案似乎是:你不行。

一旦拉動請求被合併並關閉,它將被永久鎖定並且不能重新打開。如果您的pull請求被合併,關閉,那麼您的更改將被撤消(通過強制推回到合併之前),您將需要向分支添加提交併創建新的請求,複製所有細節並可能提供指向原始拉取請求以手動保存歷史記錄的鏈接。

可能是未來GitHub的一個很好的功能請求。

+7

我不知道它何時更改,但您現在可以評論並重新打開已關閉的PR。 –

+10

@LB,似乎你可以重新打開已關閉*和合並*的PR。 –

+0

你其實可以。假設您已經恢復了初始合併,您可以創建主要repo的分支,並在此新分支上恢復正在恢復合併的提交。 – SsjCosty

12

我剛剛成功地重新通過

  1. pull請求談到拉入請求
  2. 點擊「提交併重新打開」按鈕,在出現的評論表單上。
+0

我還沒有設法複製這個 - 你能解釋看到這種行爲所需的步驟嗎?我試着評論一個關閉的拉取請求(沒有工作),評論一個關閉的拉取請求並推送到它正在拉入的分支(沒有工作)。還有什麼要嘗試?是否需要合併pull請求,然後以某種方式未合併? –

+0

我不知道有什麼不同的潛在需求。可能是任何(已提交拉請求的新變更,是項目所有者的成員,其他...) –

+0

我現在試過你提到的所有東西,仍然看不到它。我是回購所有者。搜索谷歌的「提交併重新打開GitHub」提供了一個單擊 - 本頁面。任何進一步的信息將非常有幫助。您的拉取請求最初是否被拒絕? –

3

只需從現有分支派生出一個新的分支,並在其中完成額外的1次提交。從那裏提交拉取請求。

+1

這將導致一個新的拉請求沒有原始的歷史記錄。 – Dave

+1

這就是我最終做的。是的,歷史不那麼線性,但對我來說沒問題。 – possen

3

您可以使用revert動作:

enter image description here

它將創建另一個拉請求撤消所有的變化在合併後的PR做。

+0

這不是最佳做法:) – antonbormotov

+0

@antonbormotov你能提出一個更好的方法嗎? –

+0

讓我們假設,我們已經將pr與提交(mA和mB)合併到我們想要恢復的穩定分支。合併「恢復」pr後,歷史將看起來像提交樹:X-Y-mA-mB-C-D-rA-rB-E-F。爲什麼你想看看歷史上所有提交更改(mA,mB)的提交,然後取消它們(rA,rB)?最好重新綁定並從穩定的分支中刪除那些「壞」的mA和mB,並保持歷史清潔。當然,如果合併是相對較新的話,這是有道理的。 – antonbormotov