git rebase 两个交叉branch换基

1 向下游移动base

下游移动base,根节点是两个分支的交叉点

1.初始化数据

* c54f8b7 (HEAD -> b) version3 b
| * f9fc6be (a) version4 a
| * 730cb6a version3 a
|/
* 604ad92 version2 //a和b的交点,既base
* 648ef5e version1

在这里插入图片描述

2.rebase 换基
此时HEAD在b分支上,我们可以现在base是version2,我们可以将b分支的base改为version1~4的任意位置,假设rebase到version3 a上
git rebase 730cb6a

这里使用等价的图形操作
1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)处理冲突
在这里插入图片描述

3).填写提交信息
在这里插入图片描述
3.结果
b分支的base已经改变
在这里插入图片描述

2 向上游移动base

向上游移动base,base是指定的上游commit点

假设要移动到version2
在这里插入图片描述
此时version2为base,这样计算的话b分支就有两个commit,verson3 a 和 version 3 b.
如果想恢复到最初的状态,可以吧version3 a 的Action改成skip即可
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值