首先,我有以下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)
你是怎么做到的?
答案 0 :(得分:1)
在最后一步中,您不想进行标准变基,因为您要从3
的历史记录中删除C
。在这种情况下,您可以使用交互式rebase:
git checkout C
git rebase -i A
在生成的编辑器窗口中找到提交3
的行,将其删除,保存文件并关闭编辑器。然后,git会将4
和5
重新定位到A
(2
),同时忽略3
。