①git add前撤销修改
git checkout – <文件名/目录>
git checkout – . 撤销当前目录下所有文件修改(常用)
注意:-- 去掉也是可以撤销,但是容易与切换分支的命令冲突,建议加上–
②git add后,git commit前撤销修改
git reset <文件名/目录>
git reset .
③git add且git commit后,git push到远程仓前撤销修改
git reset --mixed commitid 或git reset commitid 重置对当前分支的指针为指定commitid,工作区内容保持不变,重置暂存区(即撤销git commit以及git add,不删除工作区改动代码)
git reset --hard commitid 重置暂存区和工作区(即撤销git commit以及git add,同时删除工作区改动代码)
git reset --soft commitid 重置对当前分支的指针为指定commitid,暂存区和工作区保持不变(即撤销git commit,不撤销git add)
(commitid通过git log查看)
在git中,用HEAD表示当前版本,可以通过git reset -hard HEAD^ 回退到上个版本,如果是回退到前10个版本,git reset --hard HEAD~10