2014-09-06 58 views
2

這是我的場景。如何爲具有我的更改的功能分支提交拉取請求

我有一個分支,我執行代碼迭代。

然後當我想凍結代碼庫時,我有一個分支。

如果在凍結的代碼庫中發現了一個錯誤,那麼我必須從凍結的代碼庫中創建一個功能分支併合並回凍結的代碼庫。因此,該方案是這樣的:

  • BRANCH1
    • 支2(冷凍)

我有一個確定的錯誤:

  • 1處
    • 分支2(冷凍)
    • 分支3(特性分支以修復2處代碼錯誤)

我總是在BRANCH1迭代所以這個分支不應該發揮作用。

我遇到的問題是我在我的github pull請求中看到了我的提交。

  • 某人將錯誤修正推送到branch2(遠程)。
  • 相同的更改不在branch1中。
  • 我獲取並rebase branch2(本地)。
  • 我將更改合併到branch3中。
  • 我把我的新分支3上游到github(遠程)。

我現在不僅看到了我的更改,而且還看到了我的pull請求中最後一次落在branch2中的提交。

有誰知道爲什麼會發生這種情況,以及我如何解決這個問題?

預先感謝您。

回答

1

在合併中,嘗試使用--no-ff選項的變化,即

git commit --no-ff -m"msg"保存提交歷史,並放置在頂部的變化。

0

我想說的問題是:< <

  • 我獲取和重訂BRANCH2(本地)。
  • 我將更改合併到branch3中。>>

對於這樣的情況下,我更願意執行衍合到店2到店3:

git checkout branch3 
git rebase branch2 

有復位店3到BRANCH2後將重新申請更改。這樣,公關就保持清潔,如果發生衝突,你必須解決自己的變化,而不是來自其他人的變更。

請注意,您必須強制推送branch3,因爲它的歷史記錄已更改,但對臨時功能分支不是問題。

相關問題