簡體   English   中英

如何將分支中的提交移動到GIT中的另一個新分支?

[英]How to move commits in a branch to another new branch in GIT?

我為我的工作開發了 git branch,我創建了一個名為feature1的新分支,並提交了1,2,3和4。

我需要將commit 3,4從feature1分支移動到新創建的分支feature2

應該從feature1中刪除提交3,4並將其添加到新的分支feature2 ,因此最終結果應該是feature1 with 1和2 branch以及feature2 with 3和4。

請注意,目前我已開發設有1個分支機構。 feature2尚未添加。

實現這一目標的最佳方法是什么? 我試過git cherry-pick但是想確保最好的方法。

如果我理解你的描述正確,你的回購目前看起來像這樣,

... -- o [develop]
        \ 
         1 -- 2 -- 3 -- 4 [feature1]

而你希望它看起來像那樣

         3'-- 4'[feature2]
        /
... -- o [develop]
        \
         1 -- 2 [feature1]

正確? 如果是這樣,請執行以下操作。

首先,確保您處於干凈的工作狀態。 然后,創建並簽出一個名為feature2的分支,該分支指向與develop相同的提交:

git checkout -b feature2 develop

您的回購將如下所示。

... -- o [HEAD=feature2,develop]
        \ 
         1 -- 2 -- 3 -- 4 [feature1]

櫻桃選擇兩個感興趣的提交( 34 ):

git cherry-pick <commit-ID-of-3> <commit-ID-of-4>

之后,您的倉庫將如下所示。

         3'-- 4'[HEAD=feature2]
        /
... -- o [develop]
        \ 
         1 -- 2 -- 3 -- 4 [feature1]

最后,檢查你的feature1分支並將其重置為兩次提交:

git checkout feature1
git reset --hard HEAD~2

您的回購將按預期結束,

         3'-- 4'[feature2]
        /
... -- o [develop]
        \
         1 -- 2 [HEAD=feature1]

你將處於一個干凈的工作狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM