先上一张总图:
然后进行分析:
1、修改后的撤销
git checkout -- xxx,比如如果abc目录下有多个文件修改,且需要撤销,可以git checkout -- abc
2、git add后的撤销
git reset HEAD xxx 然后执行 git checkout -- xxx 就恢复到初始模样了。
3、如果已经commit 了
git reset HEAD~
git checkout -- xxx ,这样也就恢复到初始的代码了,但是会把你的修改弄丢的。
如果不想丢掉代码,
git reset --soft HEAD^ 这样就成功的撤销了你的commit
注意,仅仅是撤回commit操作,您写的代码仍然保留。
顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:git commit --amend ,此时会进入默认vim编辑器,修改注释完毕后保存就好了。
参考:https://www.cnblogs.com/lfxiao/p/9378763.html
4、如果push 了想回退
1、选择重新上库删掉刚刚上库的代码
2、使用git reset --hard 标签名 回退到之前的某个版本。称之为版本回退。但是回退之前的东西、hash 仍然存在。