一般在企业开发中,自己拉去了一个分支进行bug的修复,往往不是一次提交就能解决问题的。一般提交完代码交给项目技术大佬code review,之后还会再次按照建议修改,不免要涉及多次提交。但是最终merge到主分支中的时候肯定不能是一大堆提交的信息。因此需要将多次commit内容合并到一次,然后提交。
具体的操作方式:
git rebase head~5 -i
我这里是将最近提交的5次commit合并为一个。
如果想指定具体基于哪个commit,可以在rebase后使用commit的id.
之后会弹出界面。
ps:这里我是随便找了一张网上的图。这里需要做的就是把除了第一个commit之外,其余前边的pick改为squash.即合并到第一个commit.。
之后保存,又会弹出一个界面如下:
此时只要把注释留下第一个,剩余的删除,就可以了。
之后保存会提示:successfully rebased and updated refs/heads/feature-test-3.
然后就可以git push origin 分支 --force
。此时你就可以看到,之前多次commit并且push到仓库中的记录合并为一条了。