【把文件改坏了,想恢复到未修改时的样子(还未add)】
git checkout file
git checkout .
【不小心add了一些文件,想撤销掉(还未commit)】
git reset HEAD file
【这次commit的内容有问题,需要回退到之前commit的样子/暂不commit继续修改(还未push)】
git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id> # 回到其中你想要的某个版
或者
git reset --hard HEAD^ # 回到最新的一次提交
或者
git reset HEAD^ # 此时代码保留,回到 git add 之前
【push到远程分之的代码有问题,需要回滚】
1)通过git reset是直接删除指定的commit
git log # 得到你需要回退一次提交的commit id
git reset --hard
git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除
2)通过git revert是用一次新的commit来回滚之前的commit
git log # 得到你需要回退一次提交的commit id
git revert # 撤销指定的版本,撤销也会作为一次提交进行保存
git push origin master
参考