分两种情况
1.撤销commit到本地但是还没有push到服务器的代码。
git reset HEAD~1
其中1表示撤销最近一条commit记录,也可以设置为具体数值表示同时撤销多条commit记录。使用该命令后修改的代码会处于commit之前的状态,不会丢失。
2.撤销已经push到远端的代码。
git log //找到需要回撤到的版本号
git reset --hard <版本号> //撤回到需要的版本,不带版本好,或者使用git reset --hard HEAD~1 //撤销最近一次提交记录
git push --force //提交撤销动作到服务器
*注意如果在撤销期间有项目组其他成员向服务器提交了代码,那这些代码也会被覆盖掉,所以一定要慎重!
另外一种方法还没实践过
可以用git revert #sha
这个命令把#sha版本的改动回退并commit
然后再执行git push就行