git reset作用

 

git reset:

  1. 文件从暂存区回退到工作区,撤销add

  2. 版本回退 

 

一:文件从暂存区回退到工作区,撤销add

  如果想取消某个add的文件,可以使用该命令来进行撤销操作

  撤消add:git reset 文件名

  撤消所有add的文件:git reset HEAD .

  撤消某个文件或文件夹:git reset HEAD 文件(夹)名

  把从cache中删除的文件,重新添加到cache中: git add -f 文件名

 

   eg:今天add文件的时候,不小心使用了git add .  将配置文件等也给add到缓存区了,那么如何从缓存区撤销我们不想add的文件呢? 使用命令: git  reset  fileName

  但是,如果不小心使用了git rm --cached fileName清除缓存,此时缓存区中的文件已经被清除了,我们需要将撤销的文件再add到缓存区,接下来使用git reset fileName命令

 

 

二:版本回退 

 

1. git reset  --mixed commit的id  

还原到commit的id,(git reset 默认是mixed )此commit之后的文件变成modified红色(即还没add的状态)

 

2. git reset  --soft commit的id 

还原到commit的id,此commit之后的文件变成modified绿色(即add(勾选中)的状态)

 

3. git reset --hard commit的id 

还原到commit的id,此commit之后的文件都被还原

 

三:对reset进行撤销

 

睡了一觉,第二天醒来,我们后悔了,又想回到reset之前的状态,该怎么做呢?

Git提供了一个命令git reflog用来记录每一次的操作,及时是reset掉的commit记录,reflog都会有记录,所以只需找到对应的commitId,以便确定要回到的哪个版本

 

posted @ 2018-02-26 09:40  裸奔的太阳  阅读(6644)  评论(0编辑  收藏  举报