2016-08-05 55 views
0

一連串的事件:分叉回購後調整基線當地分行與上游分支

  1. 創建一個分支
  2. 做了一些改動
  3. 提交了分公司公關上游主
  4. 回購所有者創建一個在他的存儲庫上分支併合並我的PR和其他一些更改。

我還有工作要做,但現在我必須在分支上重建我的分支,回購者創建的分支用於測試一些事情,然後我的分支可以與主人合併。

我該如何使用在遠程創建的分支在本地回購中重新分支分支?我基本上希望我的一個分支與上游回購中的一個分支(不是主分支)相同。

提前道歉可能對術語使用不當。

+0

爲什麼你不能繼續工作在你的原始分支上,當你更新你的PR時,讓Repo擁有者重新合併到他的遠程分支? – fullofsquirrels

+0

我認爲這是因爲在回購所有者的分支中測試套件已更新,以便我可以使用不同版本的編程語言以及其他一些最近的更改來運行它。因此,在我能夠測試並根據這些測試進行其他更改之前,我需要在分支中使用這些測試。 – pbreach

+0

其他的替代方案我認爲會開放一個新的公關工作,回購所有者創建的分支,但它會繼續在同一個公關工作。 – pbreach

回答

1

我該如何使用在遠程創建的分支在本地回購中重新分支分支?我基本上希望我的一個分支與上游回購中的一個分支(不是主分支)相同。

的常用方法:

git rebase upstream/the_branch 

這將改變你的分支您在使用PR的歷史。 但這很好。由於你的公關尚未接受,就像你說的,它需要更多的工作,這是確定重寫它的底層分支, 當你完成,具有:

git push -f origin yourbranch_for_pr 

作爲一個側面說明, 在此之後,在PR中,您將看到所有您在rebase之前和之後所做的更改,還會看到回購所有者所做的其他更改(如果這些更改尚未合併到master中)。如果回購所有者首先將其更改合併到master,那麼這將是理想的,然後您的PR將只包含您的工作,這將更加清晰。

2

如果要同步與上游的分支,你真的沒有本地承諾要保留,越容易復位:

git reset --hard upstream/the_branch 

你也可以直接指定SHA1。