1. 还没有进行 add . 和 commit 操作:
$ git checkout .
命令作用:
只能清空全部已修改的文件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令;
$ git clean -f
命令作用:
清空所有新建的文件和文件夹;
2. 已经 add . 了, 用如下命令重置
git reset .
3.已经commit了的(一般指:回退到上一次git add状态)
git reset --soft HEAD~
3.1、如果要回退到好多次(如前三次,即后面三次的提交都回退到暂存区)之前的某一次提交(后面三次提交回退到git add状态),且保留本地工作区未提交的文件
git reset --soft HEAD~3
3.2、如果要回退到好多次(如前三次,即后面三次的提交都回退到暂存区)之前的某一次提交(后面提交回退到未git add状态,即回退到工作区),且保留本地工作区未提交的文件
git reset HEAD~3
3.3、如果要回退到好多次(如前三次,即后面三次的提交都回退到暂存区)之前的某一次提交(后面提交文件全部回退,且工作区无后面三次修改的文件内容),且不保留本地工作区未提交的文件
git reset --hard HEAD~3
3.4、如果仅想回退之前的某一次提交,则git采用逆向操作,将当时的提交记录反向操作一遍,此操作保留本地工作区未提交的文件
git revert SHA