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) update
ddd538d update
be04f1b update
c2812c1 update
$ git rebase -i HEAD~3
// 弹出文件
drop be04f1b update
drop ddd538d update
drop a1c019c update
c2812c1 (HEAD -> dev) update
pick ,reword
a1c019c (HEAD -> dev) update
ddd538d update
be04f1b update
c2812c1 update
$ git rebase -i HEAD~3
// 弹出文件
pick be04f1b update
reword ddd538d update
pick a1c019c update
85f8de7 (HEAD -> dev) update
87553e0 update-reword-修改 commit msg
be04f1b update
c2812c1 update
edit
a1c019c (HEAD -> dev) update
ddd538d update
be04f1b update
c2812c1 update
$ git rebase -i HEAD~3
// 弹出文件
pick be04f1b update
edit ddd538d update
pick a1c019c update
$ git add . && git commit --amend
$ git rebase --continue
2dcaeeb (HEAD -> dev) update
b095462 update-ameng commit msg
be04f1b update
c2812c1 update
squash
a1c019c (HEAD -> dev) update
ddd538d update
be04f1b update
c2812c1 update
$ git rebase -i HEAD~3
// 弹出文件
pick be04f1b update
squash ddd538d update
squash a1c019c update
c3c60a3 (HEAD -> dev) update-rebase-squash
c2812c1 update
fixup
a1c019c (HEAD -> dev) update
ddd538d update
be04f1b update
c2812c1 update
$ git rebase -i HEAD~3
// 弹出文件
pick be04f1b update
fixup ddd538d update
fixup a1c019c update
2ddb48d (HEAD -> dev) update
c2812c1 update