Git在两个分支之间来回反复

时间:2017-04-21 11:38:08

标签: git git-rebase

首先,我有以下3个分支。

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

为了在(B)上改变(C),我做:

git checkout C
git rebase B

结果是:

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

我们说我在(C)中犯了一些东西,所以我有:

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

现在我想重新(C)重新启动(A)所以我会:

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

你是怎么做到的?

1 个答案:

答案 0 :(得分:1)

在最后一步中,您不想进行标准变基,因为您要从3的历史记录中删除C。在这种情况下,您可以使用交互式rebase:

git checkout C
git rebase -i A

在生成的编辑器窗口中找到提交3的行,将其删除,保存文件并关闭编辑器。然后,git会将45重新定位到A2),同时忽略3