git多次提交合并为一次提交(git rebase)

前言

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

过程

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

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