问题
开发在开发分支修复bug或开发需求,经常会提交了多个commit(这是好习惯,有记录),但cherry pick到测试分支很麻烦,push上去服务器,commit日志也很多
如果能把同一个bug或需求的多个commit合并成一个commit,push就好了
解决方案
可以的,用rebase
本地分支有3个提交,现在要合并这三个commit为一个
选中“代码优化1”,右键 Interactively Rebase from Here
修改这两个的值,第1次提交默认是“pick”。本处Idea无法设置,写死是pick
action含义
pick:git会应用这个补丁,以同样的提交信息(commit message)保存提交
reword:git会应用这个补丁,但需要重新编辑提交信息
edit:git会应用这个补丁,但会因为amending而终止
squash:git会应用这个补丁,但会与之前的提交合并
fixup:git会应用这个补丁,但会丢掉提交日志
exec:git会在shell中运行这个命令
重写下提交的信息
效果:
达到预期,合并为一个push了。