1、撤销commit操作
git reset [--mixed/soft/hard] HEAD^ 撤销上次的提交
//如果想撤销N次commit,使用HEAD~N
1、--mixed 不删除工作空间改动代码,撤销commit,并且撤销git add .操作。这个为默认参数,git reset --mixed HEAD^ 和git reset HEAD^ 效果相同
2、--soft 不删除工作空间改动代码,撤销commit,不撤销git add .
3、--hard 删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就恢复到了上一次的commit状态
Tips:如果只是想更改提交的注释信息,使用git commit --amend 即可进入vim编辑器修改,不用撤销commit操作
2、回退到指定的历史版本
git log 获取历史提交的版本号 Tips:也可以在项目的.git/logs/refs/heads/master文件中查看操作日志
git reset --hard e7a98b4eabc91afebd7e3f3d7c474276146c6c2f(版本号) 恢复到指定的历史版本
//如果需要同步远程
git push origin source -f 强制 push 更新远程分支
3、撤销回退,回到未来版本
git reflog 查看命令历史,以便确定要回到未来的哪个版本
git reset --hard 版本号