reset
最后更新于:2022-04-02 02:53:02
[TOC]
## 概述
reset 只修改未提交到远程之前的commit
## 语法
```
git reset [-q] [] [--] ...
git reset (--patch | -p) [] [--] [...]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] []
说明:
--hard 重置并抛弃更改
--soft 重置并保留更改
```
## 场景
### 回退到指定的commit
```
git reset [--soft|--hard] 0bd044a2
```
### 重置几个版本
```
// 回退上一个版本
> git reset [--soft|--hard] HEAD^
// 回退上上一个版本
> git reset [--soft|--hard] HEAD^^
// 回退上100一个版本
> git reset [--soft|--hard] HEAD~100
```
**软重置**
![](https://pic3.zhimg.com/v2-ada73b43d7146e071f9557372d733d66_b.webp)
**硬重置**
![](https://pic2.zhimg.com/v2-3456eebeb80dca402dbf5b55e88c4291_b.webp)
### 撤销暂存区修改
```
git reset --hard
```
> 在 git pull 拉取冲突时,常用到
';