前言
在平时生产环境中测试和线上一般都是两个分支, 然后线上分支每一次提交都会加上锁, 需要运维部署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提交