git reset 命令

一、git reset [-q]   [<commit>] [--] <paths> ...
二、git reset [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]

<commit>是可选项,可以使用引用或提交ID,如果省略<commit>相当于使用了HEAD的指向作为提交ID。
两种用法区别在于,第一种包含路径<paths>。为了避免路径和引用(或者提交ID)同名而发生冲突,可以在<paths> 前用两个连续的短线(--)作为分隔。

第一种
     不会重置引用,更不会改变工作区,而是指定提交状态(<commit>)下的文件(<paths>)替换掉暂存区中的文件。例如git reset HEAD <paths> 相当于取消之前执行的git add <paths>相当于取消之前执行的 git add <paths> 命令时改变的暂存区。

第二种
     会重置引用,根据不同的选项,可以对暂存区或工作区进行重置。

     使用参数 --hard 如:git reset --hard <commit> 会执行:
               1.替换引用的指向
                     2.替换暂存区。替换后,暂存区的内容和引用指向的目录树一致
               3.替换工作区。替换后,工作区的内容变得和暂存区一致,也和HEAD所指向的目录树内容相同。

     使用参数--soft,如:git reset --soft <commit>会执行: 1. 替换引用的指向

     使用参数--mixed或不使用参数,如:git reset <commit>会执行:1 2,即更改应用的指向及重置暂存区。但是不改变工作区。


示例:
     解释待补充。。。
           git reset 
            git reset HEAD
git reset --filename
git reset HEAD filename
git reset --soft HEAD ^
git reset HEAD^
git reset --mixed HEAD^
git reset --hard HEAD^
          

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值