reset 撤销
git reset 目录树重写
如果修改某一个文件(没有git add已被提交过),像撤销这次修改(确定没有任何用处)?
git checkout a.txt or /src/ 相当于覆盖掉本地(该方法比较致命,chechout之后就找不回开发库的内容了)
如果修改某一个文件(git add 已在暂存区),像撤销这次修改(确定没任何用处)?
git reset a.txt 也可以连同暂存区一同撤销
如果已修改某几个文件,但是想撤销到某个版本,但是当前暂存区、工作区不想撤销?
git reset -soft commitId
如果修改了某几个文件也提交暂存区了,想撤销到某个commit(确定都不要了)?
git reset -hard commitId
如:
$ git reset –hard 03e8919c2334ec3b952ae4b6ee63ad00ed133573
恢复撤销前的commit(提交)
$ git reflog //看到当前提交的记录
$ git reflog show master //看到master提交的记录
恢复
git reset –hard master@{2} //恢复到最后一次提交