[英]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]
櫻桃選擇兩個感興趣的提交( 3
和4
):
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.