git 修改回滚

使用git管理代码避免不了代码的回滚,先介绍一下git reset的使用,然后介绍下各种场景如何回滚

一、git reset 【<mode>】 【<commit>】

重置当前分支的HEAD 到【<commit>】提交的版本,并且根据【<mode>】决定是否修改暂存区和工作去的内容。【<mode>】模式默认是--mixed 。下面是各个参数使用的差别:

1. --soft  
仅仅移动当前Head指针,不会改变工作区和暂存区的内容  

git 修改回滚
2.  --mixed  
是reset的默认参数,移动head指针,改变暂存区内容,但不会改变工作区 

git 修改回滚
3.  --hard  
当前head指针、工作区和暂存区内容全部改变  

git 修改回滚
那我个人的理解,--soft用处不是很多,当commit之后想撤回commit,但还不想覆盖工作区内容时,使用--mixed;当想完全回滚时,使用--hard来覆盖工作区。

 

二、 回滚文件

git 修改回滚