修改撤销
//当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,checkout 会返回上次add或者commit的内容
git checkout -- file
//当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改。reset 会清空stage区的内容
git reset HEAD file
//回到了场景1,第二步按场景1操作。
git checkout -- file
//其实上面的两步完全可以使用下面的替代
git reset --hard head
//已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退
版本回退
//将工作区的内容回退到commit时的状态
$ git reset --hard HEAD
//将工作区的内容回退到上个版本
$ git reset --hard HEAD^
//将工作区的内容回退到指定版本
$ git reset --hard 3628164
Git中的文件删除
在Git的工作区中删除一个文件(直接在文件管理器中删除或者使用rm命令),当使用git status命令时会提示你用git rm file从版本库中删除这个文件(其实这个文件还在版本库中),效果和git add .是一样的。使用git rm 不用担心会丢失这个文件,只要被添加到版本库中他就会一直存在,可以使用git reset --hard versionID恢复。