前言

在平时生产环境中测试和线上一般都是两个分支, 然后线上分支每一次提交都会加上锁, 需要运维部署jenkins去解锁部署代码重启服务, 但是平时在测试分支上完成功能可能需要多次commit提交测试环境测试功能, 提交正式分支的时候因为锁的存在就比较麻烦了, 所以需要把测试环境的多次commit合成一个commit提交正式分支, 这时就用到了git rebase

过程

在这里插入图片描述
我现在有3个提交, 我需要合并这3个提交为一个提交
在这里插入图片描述
执行这个命令, 合并几个就写几
在这里插入图片描述
执行后会进入合并过程, 把除了第一个的pick其他全部改为s
在这里插入图片描述
然后wq保存, 保存后会出现另一个界面, 合并修改这几次提交的commit信息
在这里插入图片描述
我一般都是把中间的注释干掉, 然后保留我之前的commit, 或者你把所有的都删除在重写这次的提交注释信息也行
在这里插入图片描述
在这里插入图片描述
这样就ok了, pull, push就可以了, 然后在另一个分支直接cherry-pick这个提交就可以了
在这里插入图片描述

注意: 如果中间夹杂了别人的commit也可以直接把自己的所有commit都cherry-pick到线上分支, 不push也可以有用git rebase合成一个commit提交
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐