首先,我认为这是重复的;我想我想做的事情有个名字,但是我什么都找不到。
想象我有提交:
a1 -- a2 -- b1 -- b2 -- c1 -- c2
其中a
,b
和c
是分支。我正在尝试获取历史记录,以便于:
- b1 -- b2
/
a1 -- a2 -- c1 -- c2
但是,如果我尝试将c
改写到a
上,那么我也可以得到b
。
有什么好方法吗?
答案 0 :(得分:4)
这些是多个步骤。基本操作是git rebase --onto <newbase> <oldbase> <tip>
(其中newbase
和oldbase
可以是提交哈希或分支名称,但是tip
应该是分支名称)。
我假设您有分支b
和c
分别指向提交b2
和c2
。
git rebase --onto a2 b2 c
结果:
- b1 -- b2
/
a1 -- a2 -- c1 -- c2
请注意,b1
和b2
保持不变,我只需要在视觉上将它们向上移动。
git rebase --onto a1 a2 b
结果:
- b1 -- b2
/
a1 -- a2 -- c1 -- c2