2014-01-19 82 views
2

我有以下情況:的Git複製一個分支到另一個

     K---L new-feature 
        /
      H---I---J---M dev-team1 
     /
      E---F---G dev-main 
     /
A---B---C---D master 

我想只移動新功能(K --- L)分公司DEV-主要無分支(H --- I --- J)形式dev-team1,但我想新功能(K --- L)分支保持爲一個單獨的分支。

類似的東西:

     K---L new-feature 
        /
      H---I---J---M dev-team1 
     /
      E---F---G---K'---L' dev-main 
     /
A---B---C---D master 

回答

4

這是cherry-pick工作。嘗試

git checkout dev-main 
git cherry-pick K 
git cherry-pick L 

您還可以使用gitrevisions documentation中描述的語法來指定提交範圍。在要合併這個例子中承諾從new-feature分支可達但不能從dev-team1分支,所以你可以寫

git checkout dev-main 
git cherry-pick dev-team1..new-feature 

還要檢查這個職位約how to merge a specific commit in Git

+0

如果我有很多類似的提交:K,L,N,O,P?我會爲每個編寫命令'git cherry-pick SHA'? –

+0

@EkKosmos,我已經更新了我的答案,提供了關於指定'K'和'L'的信息,如果您有很多提交到'cherry-pick'的提交,這可能會很有用。 – Chris

相關問題