场景一:
彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!
做push操作了,但是我想撤回来
命令方式:
1.输入git log
查看所有提交的版本
注意:黄色字体中 commit
后面的一串码就是每一个版本号对应的码
2.回退到指定版本
== 注意:--hard 删除工作空间改动代码,撤销commit,撤销git add .
==
git reset --hard 版本号
reset
是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。
3.推送代码
git push origin master -f
场景二
例如:
写完代码后,我们一般这样
git add . //添加所有文件
git commit -m "本功能全部完成"
执行完commit后,想撤回commit,怎么办?
说一下个人理解:
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit
,想都撤回,可以使用HEAD~2
至于这几个参数:
–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset –mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
–hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend