❤️作者主页:小虚竹
❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主🏆,51CTO专家博主🏆
❤️技术活,该赏
❤️点赞 👍 收藏 ⭐再看,养成习惯
问题
开发在开发分支修复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了。