git rebase 合并多个commit

768 阅读1分钟

git rebase -i [startpoint] [endpoint],可以合并中间的任意子区间的commit

1.git log --oneline

2.git rebase -i b8a8ef6 c202819

3.输入[i],删掉的commit替换pick为s,[esc]+[:wq]回车保存

4.[d][d]删除多余的commit 信息,[esc]+[:wq]保存

5.git log 查看最新的commit记录

  • git log --oneline image.png

  • git rebase -i [startpoint] [endpoint]

// -i 的含义是:--interactive, 即弹出交互式的界面让用户编辑完成合并操作

// [startpoint] 指的是合并区间的起点。

// [endpoint] 指的是合并区间的终点,默认是当前分支 HEAD 所指向的 commit。

$ git rebase -i [startpoint] [endpoint]

// 注意:这里的区间是一个前开后闭的区间。

  • git rebase -i b8a8ef6 c202819

image.png

git rebase -i HEAD~2 合并前两次commit