未使用 git add
缓存代码
# 撤销指定文件,--很重要,没有--,就变成了“切换到另一个分支”的命令
git checkout -- <file>
# 撤销所有文件
git checkout .
相当于 SVN 的 revert
已使用 git add
缓存代码未使用 git commit
提交代码
# 撤销指定文件
git reset HEAD <file>
# 撤销所有文件
git reset HEAD
已使用 git commit
提交代码
# 回退到当前版本的上一版本
git reset --hard HEAD^
# 回退到指定版本
git reset --hard commit_id