2017-02-09 27 views

回答

1

通常情況下,如果branchA的PR得到批准(默認合併策略),當你爲branchB,創建一個新的PR新PR只會顯示最初提交的branchB。如下圖所示。

A---B---C branchA 
/  
D---E---F---G master 

爲branchA PR默認情況下,合併策略批准後:

  I  branchB 
     /
    A---B---C   branchA 
/  \ 
D---E---F---G---H master 

但分支A中的PR是通過壁球合併策略,當你爲支路B創建一個新的PR批准,它將顯示branchA和branchB的所有歷史記錄,因爲branchA並未真正合併到master分支中。顯示如下圖,提交A,B,C和我將在branchB新PR顯示:

  I  branchB 
     /
    A---B---C   branchA 
/   
D---E---F---G---H’ master 

如果不希望新的PR顯示有關branchA歷史,你可以變基branchB(git rebase --onto master branchA branchB )轉換爲master並創建PR以將branchB合併到master中。

 A---B---C  branchA 
    /   
D---E---F---G---H’ master 
       \ 
       I’ branchB 
0

從您的描述來看,這聽起來像是您從分支A上完成的任何位置開始創建分支B.如果您只有一個要保存的提交,那麼解決此問題的最簡單方法可能是挑選。

首先,保存老枝B

git branch -m B oldB 

然後,切換到主:

git checkout master 

更新您的本地master分支:

git pull --ff-only 

創建一個新的分支B來自當前的主人:

git checkout -b B 

櫻桃採摘從oldB你一個承諾:

git cherry-pick oldB 

與推動,使拉要求等繼續。

請注意,如果您在oldB上有多個提交,那麼您必須執行多個cherry選擇或rebase(可以同時執行整個提交序列)。

相關問題