git rebase -i
操作指令 | 含义 | Git 信息(引入年份 / 最低版本) |
---|
pick § | 使用该提交,rebase时用来保留某个提交原样不变 | 2007 / Git v1.5.4 |
drop (d) | 删除该提交 | 2007 / Git v1.5.4 |
reword ® | 修改提交信息 | 2007 / Git v1.5.4 |
edit (e) | 修改提交内容(可暂停 rebase 来修改) | 2007 / Git v1.5.4 |
squash (s) | 合并到前一个提交(保留提交信息),清理历史但仍保留有意义的提交说明 | 2007 / Git v1.5.4 |
fixup (f) | 合并到前一个提交(丢弃当前提交信息),快速合并临时提交不保留提交信息(如 WIP、update) | 2008 / Git v1.6.2 |
drop
a1c019c (HEAD -> dev) updateddd538d updatebe04f1b updatec2812c1 update
$ git rebase -i HEAD~3// 弹出文件drop be04f1b updatedrop ddd538d updatedrop a1c019c update
c2812c1 (HEAD -> dev) update
pick
reword
a1c019c (HEAD -> dev) updateddd538d updatebe04f1b updatec2812c1 update
$ git rebase -i HEAD~3// 弹出文件
pick be04f1b update
reword ddd538d update
pick a1c019c update
85f8de7 (HEAD -> dev) update87553e0 update-reword-修改 commit msgbe04f1b updatec2812c1 update
edit
a1c019c (HEAD -> dev) updateddd538d updatebe04f1b updatec2812c1 update
$ git rebase -i HEAD~3pick be04f1b update
edit ddd538d update
pick a1c019c update
$ git add . && git commit --amend
$ git rebase --continue
2dcaeeb (HEAD -> dev) updateb095462 update-ameng commit msgbe04f1b updatec2812c1 update
squash
a1c019c (HEAD -> dev) updateddd538d updatebe04f1b updatec2812c1 update
$ git rebase -i HEAD~3pick be04f1b update
squash ddd538d update
squash a1c019c update
c3c60a3 (HEAD -> dev) update-rebase-squashc2812c1 update
fixup
a1c019c (HEAD -> dev) updateddd538d updatebe04f1b updatec2812c1 update
$ git rebase -i HEAD~3pick be04f1b update
fixup ddd538d update
fixup a1c019c update
2ddb48d (HEAD -> dev) updatec2812c1 update