2017-04-21 131 views
0

首先我有以下3個分支。兩個分支之間Git rebase來回

1---2 (A) 
    |\ 
    | 3 (B) 
    \ 
     4 (C) 

爲了變基上(C)(B),我做的:

git checkout C 
git rebase B 

,其結果是:

1---2 (A) 
    \ 
     3 (B) 
     \ 
     4 (C) 

比方說,我已經承諾的東西(C )所以我有:

1---2 (A) 
    \ 
     3 (B) 
     \ 
     4---5 (C) 

現在我想rebase(C) (A)所以我會:

1---2 (A) 
    |\ 
    | 3 (B) 
    \ 
     4---5 (C) 

你是如何做到這一點的?

回答

1

在最後一步中,您不想執行標準變形,因爲您想從C的歷史記錄中刪除3。在這種情況下,你可以使用互動的rebase:

git checkout C 
git rebase -i A 

在出現的編輯器窗口中找到提交3行,刪除,保存文件並關閉編輯器。然後git會將45重新分配到A2),同時忽略3

+0

它工作。爲了不好,這不是建在GitKraken – Chris

+0

太棒了!隨時接受/ upvote我的回答:) –

+1

因爲小聲譽不能upvote。稍後我會接受答案,看看其他人是否有其他想法。 – Chris