在我们使用Git的时候,经常会因为bug和代码规范问题提交多个commit,而这些commit合并起来才是一个完整的任务。虽然影响不大,但对强迫症来说非常难受。
假设我们有三个提交
git-commit-log.png
我们要合并这三个提交,使用命令 git rebase -i HEAD~3
其中3代表操作的commit数量
git-rebase1.png
进入vi界面,可以看到注释中有很多命令,这里我们要把第二次提交、第三次提交合并到第一次提交中,squash
命令可以把当前提交合并到上一个提交中,我们把第二次提交、第三次提交前的命令改成squash
或s
。
git-rebase2.png
保存退出,会进入commit message的编辑页面
git-rebase-comment.png
修改注释
git-comment.png
然后保存退出,三次提交就合并成功了!
git-log.png
PS:如果已经提交到远程,可以使用
git push -f
命令强制推送到远程