git rebse的变基提交

git rebase 用来改变一串提交,以什么为基础的问题

其实际的意义就是为了保持正在开发的分支中的提交,相对于另一个分支代码,是最新的

图片描述

现在有两个分支,topic分支是基于master中的B提交点独立出来的,如果我现在想要让topic的分支基点变为E,就可以使用

git checkout topic
git rebase master
或者
git rebase master topic

图片描述

如果要把feature分支,移到master的E节点时

图片描述

git rebse --onto master maint^ feature

图片描述

如果过程中存在冲突问题,rebase会临时挂起,等你解决完冲突后,使用git rebase --continue进行接下的操作,如果觉得冲突没有修改必要,可以git rebase --skip,如果过程中后悔了,则git rebse --abort终止操作

接下来说说git rebase -i

有时候,我们会存在,想修改提交的顺序,或者删除某个提交之类的操作时,rebase -i就派上用了

 //master~3就是一个范围
 git rebase -i master~3

执行上面的语句会得到,下面类似的内容

pick aced9f3 远程2
pick 532a39d 远程3
pick 852da65 rebse

可以在vim中,更改这三行的数据的先后顺序,来实现提交的先后顺序,比如

pick 852da65 rebse
pick aced9f3 远程2
pick 532a39d 远程3

使用:wq保存退出

如果想要实现某两个提交节点,合二为一

pick 852da65 rebse
squash aced9f3 远程2
pick 532a39d 远程3

第二个提交节点会合并到第一个提交中去

这个其实可以运用到开发的场景中,我们时常存在提交代码的时候,与远程代码库存在冲突,在merge之后会生成一个merge的提交点,如果你是强迫症患者,肯定是不允许的,这个时候你使用rebase就能解决你的烦恼了。

weixin

更多技术相关的和话题请关注公众微信号【APPZone】
私下交流请关注的新浪微博@迹_Jason

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值