1.在工作区修改文件但还没有git add到暂存区
git checkout [filename] //放弃工作区中某个文件的修改
git checkout . //放弃工作区中全部文件的修改
git diff [filename] //查看修改的具体内容
2.撤销已经提交到暂存区的文件(已经git add但还未git commit)
git reset HEAD [filename] //撤销已经提交到暂存区的文件
git reset HEAD . //撤销暂存区所有提交
撤销后暂存区里面的内容没有了,工作区中保留原有的修改记录
3.对已经提交到本地仓库做撤销(已经git commit但还未git push)
git reset --soft [commit id] //撤销commit,保留git add,保留工作区
git reset --mixed [commit id] //撤销commit,撤销git add,保留工作区
git reset --hard [commit id] //撤销commit,撤销git add,撤销工作区