git rebse的变基提交

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

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

图片描述

如今有两个分支,topic分支是基于master中的B提交点独立出来的,若是我如今想要让topic的分支基点变为E,就能够使用vim

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终止操做spa

接下来讲说git rebase -icode

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

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

执行上面的语句会获得,下面相似的内容图片

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

能够在vim中,更改这三行的数据的前后顺序,来实现提交的前后顺序,好比ip

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

相关文章
相关标签/搜索