git reset命令详细介绍

git reset 基本用法

git reset 命令用于回退版本,可以指定退回某一次提交的版本。git reset 命令语法格式如下:

git reset [--soft | --mixed | --hard] [HEAD]

    $ git reset HEAD^            # 回退所有内容到上一个版本  
    $ git reset HEAD^ main.java  # 回退 main.java 文件的版本到上一个版本  
    $ git reset 052e            # 回退到指定版本
    
--soft:回退但保留工作区内容,保留暂存区数据
--mixed:回退但保留工作区内容
--hard:回退所有记录

git reset 参数说明

3.1、reset --hard:最危险的操作,容易造成丢失。

reset --hard 会在重置版本的同时,重置暂存区和工作目录里的内容。也就说,就是在暂存区中你没有commit的修改会被全部擦掉,在工作区中你没有add的修改也被全部擦掉。

3.2、reset --soft:保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区

reset --soft 会在重置版本库的时候,保留工作目录和暂存区中的内容,并把重置版本库所带来的新的差异放进暂存区。也就说是说,工作目录的内容不受影响,而暂存区中已经commit的内容变成已add的状态。

3.3、reset 不加参数(mixed):保留工作目录,并清空暂存区中未提交的修改。

reset 如果不加参数,那么默认使用 --mixed 参数。它的执行结果是:保留工作目录,并且清空暂存区中未提交的修改。也就是说,工作目录的修改、暂存区的未提交的内容以及由 reset 所导致的新的文件差异,都会被放进工作目录。简而言之,就是把所有差异都混合(mixed)放在工作目录中。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐