billlee
2014-08-28 00:55:07 +08:00
1) 取消上一次 commit: git reset HEAD^ # 会保留在 stage
2) 取消上一次 commit: git reset --hard HEAD^ # 完全丢弃
3) 修改上一次的 commit:
git add something
git commit --amend
4) 取消倒数第三、第二个 commit: git rebase -i HEAD~3, 然后在编辑器中删除第一行和第二行后,保存退出。
5) 修改倒数第三个 commit: git rebase -i HEAD~3, 然后把第一行的 pick 改成 edit.
6) 合并倒数第三、第二个 commit: git rebase -i HEAD~3, 然后把第二行 pick 改成 squash 或 fixup
git rebase --interactive 特别强大,几乎可以实现所有修改历史的需求。