2016-04-21 36 views
0

我有一個分支,我從GitHub的上游回購相當有規律地更新。我在我的項目中使用了它,所以它自然而然地創建了所有我創建的分支,以便我可以使用我需要的修補程序。製作一個基於上游的git分支,而不是在我的提前上游分叉

但是,原始回購並不一定會馬上收到我的回覆請求。所以,當我想要提出一個新的pull請求時,如果沒有包含未完成的PR,我怎麼能再次將原始repo分叉到基於它的更改上,而不是我的分支,所以我可以提交新的,不相關的PR?

目前我一直在做的是製作一個分支,然後重新歸還到最老的優秀PR之前,然後挑選除了優秀PR之外的所有東西。這在很小的範圍內沒有問題,但現在幾周前有一些優秀的PR和數百次提交之前,這很痛苦,只是向上遊提交一個小改動。

IOW我想要一個基於當前上游的分支,而不是我目前的分支,這是上游的。我怎樣才能在GitHub中輕鬆獲得這個?

+2

我會保持'master'與上游完全同步! 'my-master'作爲所有修復的容器;和每一個PR的一組「my-fix-xxx」分支。它看起來很複雜嗎?我不這麼認爲。 –

+1

當然,分支機構需要維護。這可能是不可避免的,只是要儘可能保持清晰的事情 - 單個公關的分支,單個功能/修復的公關。 –

回答

0

我想我現在很難看到它。我已經考慮過@魯斯蘭奧斯馬諾夫的答案,但是看不到我目前的狀況。我想我應該從一開始就以不同的方式做事,而對於這種情況,總會有......重做!所以我做了最後一次rebase,這次是在我的fork上,然後用我的合併PR保留我自己的分支,然後讓fork從上游拉出。

對於我來說,這對我來說有點不太直觀,就「真正」叉子如何回饋上游而言,思考如何,但如果這是做到這一點的唯一方法,那麼做吧。

但是,試圖通過這種方式重新綁定給了我在TortoiseGit中模糊的錯誤Unrecoverable error: Merge commit parent missing。在這種情況下,該修復正在跳過提交的問題,無論如何這只是「追趕」合併;奇怪的是,其他一些追趕合併並沒有引起問題。

實際上比rebase更容易的是將HEAD重置爲舊版本,然後使反向PR趕上。從那裏我已經準備好了一個不上游的前叉。

相關問題