背景:
公司新人不懂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里。
网友评论