1、未使用”git add .“缓存代码的情况下
git checkout .
使用此命令可以用来放弃掉还灭有加入到缓存区的修改
但是此命令不会删除新建的文件,因为新建的文件还没有加入到git的管理系统中
2、已经使用了git add . 命令的情况下
git reset HEAD filepathname
放弃指定文件的缓存,相当于撤销了git add 的工作。
如放弃readme.md文件的修改:git reset HEAD readme.md
git reset HEAD .
放弃本地的所有的缓存
在使用本命令后本地的修改并不会消失,而是回到未添加缓存的状态,此时可以使用git checkout . 就可以放弃本地的修改
3、已经使用了git commit
**git reset --hard HEAD^
退回到上一次commit 的状态
git reset --hard commitid **
回退到任意的版本,只要有版本id即可