git commit --amend --no-edit
合并提交
git push -f
git rebase -I [commit id]
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
第一列是rebase具体执行的操作,其中操作可以选择,其中含义如下:
- 选择pick操作,git会应用这个补丁,以同样的提交信息(commit message)保存提交
- 选择reword操作,git会应用这个补丁,但需要重新编辑提交信息
- 选择edit操作,git会应用这个补丁,但会因为amending而终止
- 选择squash操作,git会应用这个补丁,但会与之前的提交合并
- 选择fixup操作,git会应用这个补丁,但会丢掉提交日志
- 选择exec操作,git会在shell中运行这个命令