1. --soft
git reset --soft HEAD^
删除最后一次commit记录,将其代码恢复到暂存区
2. --mixed
git reset HEAD^ / git reset --mixed HEAD^
删除最后一次commit记录,将其代码以及暂存区所有的数据恢复到工作区
3. --hard
git reset --hard HEAD^
删除最后一次commit记录,舍弃改动的代码,删除工作区未commit的代码,回退到倒数第二次时的commit。
注:工作区修改或新增文件将被覆盖或删除,谨慎用 --hard
4.撤销远程commit
4.1版本回退(慎用,-f 会覆盖远程代码) <可用于撤销合并:回退到merge的上一个版本即可>
使用git log 查看历史commit_id
git reset --hard [commit_id] //回退到那次commit
git push -f
4.2抵消commit
git log //打开commit日志,找到需要抵消的commit_id
git revert commit_id //生成抵消commit_id对应的commit代码
git push
小提示:
git commit --amend 可修改最近一次的commit,会进入默认vim编辑器,修改注释完毕后保存就好了
HEAD^可使用HEAD~1表示;HEAD^^可使用HEAD~2表示;
git merge --abort //撤销正在进行的merge