2013-04-09 69 views
1

合併兩個分支到一個新的,而不依賴我在我的本地回購兩個分支:branch_1branch_2,每個基於同一提交一個,包含多次提交(磁頭A1A2)。GIT:在格里特

我推都A1A2到格里特分支,有兩個不同的評論。 然後,我放棄了它們。

現在我需要創建基於新的本地分支branch_3來自A1A2一個和含變成A3。我所做的:

git checkout -b branch_3 origin/master

git merge branch_1 branch_2

我有一個承諾A3,我需要和它推到格里特。 第三次審查被創建,但它取決於兩個先前放棄的提交,因此我無法提交。

有什麼辦法合併兩個分支成一個犯A3,這樣它僅僅依賴於一個沒有A1A2

回答

0

選項'-n'應該用於櫻桃選擇每個必要的提交:

git checkout A 
git cherry-pick -n A1 
git cherry-pick -n A2 
git commit 

新創建的提交A3是預期的提交。

2

方法1:嘗試rebase包含A3到origin/master

方法2支:取出一個乾淨的分支,摘櫻桃提交A3,並再次推:

git checkout -b feature --track origin/master

git cherry-pick A3

git push origin HEAD:refs/for/master

+0

挑肥揀瘦失敗,出現以下錯誤: '錯誤:提交3a6bba4e6f216bb43f4d01da0f7175bd67ac8fa3是合併,但沒有-m選項被given.' '致命:摘櫻桃failed' – 2013-04-11 15:48:53