git reset 重置回滚版本

Git reset 命令有三个主要选项:

$ git reset --soft <哈希值>

$ git reset --mixed <哈希值>

$ git reset --hard <哈希值>

通过查看历史提交,可以获取前一次提交的哈希值

$ git log

手误git add .之后想要撤销

git reset .
git reset HEAD .

如果是撤销某个文件或文件夹:

git reset HEAD  -filename

git reset –soft

将HEAD引用指向给定提交。索引和工作目录的内容是不变的,在三个命令中对现有版本库状态改动最小。即是提交修改的文件里面修改的内容没有丢失,只是回到了未提交的状态。就是回到执行git add 之后的状态。

git reset –mixed

HEAD引用指向给定提交,并且索引内容也跟着改变,工作目录内容不变。这个命令会将索引变成你刚刚暂存该提交全部变化是的状态,会显示工作目录中有什么修改。即是被修改的文件内容也没有丢失,但是修改的文件回退到了未执行git add 操作之前。相当于可以撤销 git add . 操作,并保留修改的方法。

git reset –hard

HEAD引用指向给定提交,索引内容和工作目录内容都会变给定提交时的状态。也就是在给定提交后所修改的内容都会丢失(新文件会被删除,不在工作目录中的文件恢复,未清除回收站的前提)。就是啥都没了,回到上一个提交的版本。