git rebase:合并多个commit

635 阅读1分钟

合并多个已经push的commit

git rebase -i HEAD~3 // 合并最近的3个commit

git rebase命令执行之后会出现vim编辑器,按键盘上的‘i’,进入编辑模式, 根据自己的需求把后两行的需求改成 'f' 或者 's'

  • pick 的意思是要会执行这个 commit
  • squash 的意思是这个 commit 会被合并到前一个commit
  • fixup 的意思是这个 commit 会被合并到前一个commit,并且丢弃这个commit的log message(我一般用这个和pick)

改好之后,按esc, 键盘输入:wq退出,如果没有冲突就rebase成功了,接着git push -f再提交一次会发现多条commit已经被合并到一起了。
如果有冲突就先解决冲突,然后 git rebase --continue继续

取消rebase

git rebase --abort