2010-09-13 211 views
1

這是我目前的回購。Git合併中間提交的分支

Z(master)---A---B---C---D(branch A) 
      \ 
      ---E---F(branch B) 

我想合併提交A到主,誰能告訴如何做到這一點?

(期望的)

Z---A(master)---B---C---D(branch A) 
    \ 
     ---E---F(branch B) 

編輯:

鹼的預先從分支B到B是我的拼寫錯誤。請忽略它。抱歉讓人困惑!即使我仍然學習一個技巧。

回答

2

如果Z是最後一次提交的master,一個簡單的git merge SHA1(A)將快進主頭A

然而,推進branchB的B開始(我知道,那是你的問題一個錯字),你將需要:

git branch tmp SHA(B) 
git checkout branchB 
git rebase tmp 
2

我想,只是想:

git reset master A 

但只,如果結構是一樣的部份>

<old>---Z<master>A---B---C---D<A> 
         \ 
         \ 
         \ 
         E---F<B> 

之後是這樣的:

<old>---Z---A<master>B---C---D<A> 
         \ 
         \ 
         \ 
         E---F<B> 

其他地方,請糾正你的樹。

1

您可以使用 git合併將新更改合併到分支中。所以,當你有簽出

 
$ git checkout master 

您只需合併

 
$ git merge B 

對於上面,只需使用的散列提交,或用A〜3或類似的命名。

這將快進包括所有提交到 B