0
点赞
收藏
分享

微信扫一扫

Git reset 的hard、soft、mixed参数对比

目录

  • ​​分区概念​​
  • ​​1. --soft参数​​
  • ​​2. --mixed参数​​
  • ​​3. --hard参数​​

分区概念

先要清楚在本地,git会分三个区:工作区、暂存区、本地库。

当使用去做版本移动的时候,那么在使用【​​--hard​​​】、【​​--mixed​​​】、【​​--soft​​】是不一样的。

1. --soft参数

git reset --soft abcdef

  • 仅仅移动本地库​​HEAD​​指针

仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。但是这个时候你上次提交到本地库的代码状态是绿色的,即你未做【​​commit​​】操作。

Git  reset 的hard、soft、mixed参数对比_git

2. --mixed参数

git reset --mixed abcdef

  • 移动本地库​​HEAD​​指针
  • 重置暂存区

不仅移动了本地库的指针,同时还把暂存区的代码也做了移动。也就是说你上次添加到暂存区的代码,现在变成了红色,即未做【​​add​​​】操作。如果不写​​--mixed​​,默认也是此参数

Git  reset 的hard、soft、mixed参数对比_本地库_02

3. --hard参数

git reset --hard abcdef

  • 移动本地库​​HEAD​​指针
  • 重置暂存区
  • 重置工作区

不用解释了,除了上面描述的,同时你本地的代码就是你回退的版本代码。

Git  reset 的hard、soft、mixed参数对比_暂存区_03

不过很多时候,我们在回退更多的是要保留本地代码的,即使用​​--mixed​​​参数。除非你是重新拉取一份,那可以使用​​--hard​​参数。


举报

相关推荐

0 条评论