三种情况:
1、没有执行 git add的:可以用命令 ,
git checkout -- filepathname(eg: git checkout -- demo.html)
2、如果是放弃所有,直接执行
git checkout .
此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改, 内容修改与整个文件删除。
但,此命令不会删除掉刚新建的文件,
因为,刚新建的文件还没已有加入到 git 的管理系统中。
所以对于git是未知的,仅需手动删除即可。
3、已经执行git add缓存了的:可以用命令
git reset HEAD filepathname (比如: git reset HEAD readme.md)
同样放弃所有就是
git reset HEAD .
执行完此命令后,文件状态就回归到第一种情况,此时再按照情况1处理。
4、已经用 git commit 提交了的:可以用命令
git reset --hard HEAD^
回退到上一次commit的状态,此命令可以用来回退到任意版本:git reset --hard commitid