应用场景
当我们在本地仓库中提交了多次,在我们把本地提交push到公共仓库中之前,为了让提交记录更简洁明了,我们希望把如下分支A、B、C三个提交记录合并为一个完整的提交,然后再push到公共仓库。
命令使用
现在我们在测试分支上添加了四次提交,我们的目标是把最后三个提交合并为一个提交:
这里我们使用命令,进入vim编辑模式:
git rebase -i HEAD~3
可以看到如下页面,按下键盘的 i 键启动编辑模式:
这里用的编辑命令如下:
- squash:将该commit和前一个commit合并(缩写:s)
根据我们的需求,我们将commit内容编辑如下:
保存后退出,进入到下一个页面:
修改提交信息为,合并提交,注释的内容会被忽略掉:
这三次提交就被合并成一个提交了,打印看一下日志: