git reset三种模式

背景:

公司新人不懂git reset命令,索性就写写笔记。

reset简介:

重置
主要功能:回退到指定版本。
回退版本,表示旧数据将会git工作区域发生变动。

首先我们先了解git共有3个工作区域

  • 1、repository :仓库,执行commit后产生记录,会有commit id;
  • 2、index\stage:暂存,执行 git add . 就会添加到stage区域
  • 3、working free:当前工作区域,当新增、修改文件时候,默认就是working free.

当代码回退的时候,git会根据reset模式将代码退到到指定工作区域

其次我们要了解reset共有3种模式。

  • 1、hard
  • 2、soft
  • 3、mixed

以下将一一解释:

git reset --hard 'commit id'
该指令将项目回退到指定版本,回退的版本数据将会repository移除,不会在在stage、working free 目录保存任何数据。

git reset --soft 'commit id'
该指令将项目回退到指定版本,回退的版本数据会将会从repository移动到stage区域里,如果需要提交,只需要重新commit一次即可。

git reset mixed 'commit id'
git reset 'commit id' = git reset mixed 'commit id'
git reset 默认就是 mixed
该指令会将项目回退到指定版本,回退的版本数据会从repository移动到working tree里。
如果当前状态有将部分数据放到stage里,那我们执行 git reset 后,会将处于stage里的数据将一起被移动到working free里。

你可能感兴趣的:(git reset三种模式)