1.撤销提交但是未push 的代码
git log 先找到要撤回到的那个地方的id,比如要撤回到oringin/master,就用oringin/master 的id (命令符q 结束log)

第一种: git reset --hard id (完成撤销,同时将代码恢复到前一commit_id 对应的版本(oringin/master))

第二种: git reset --soft id (完成Commit命令的撤销,提交前修改的文件还在,还会回到暂存区)

git reset id
2.撤销提交而且push 的代码

push过的代码
第一步:git reset --soft a8ae4e13e43071e222976405e46defabcf1698ac 保留当前工作区,以便重新提交 (不会删除修改的代码), 但是远程分支还在的 撤销不了

git reset --soft id
第二步:git push origin 远程分支名 --force 强制提交当前版本号,以达到撤销版本号的目的:
(例如: git push origin testPushAndReset --force)将远程分支强制与本地分支同步

git push --force