

## 1 reset 和 checkout

![](../../asset/git_reset.png)

## 2 reset 命令

```python
git reset --mixed HEAD~
- 移动 HEAD 指向上一个快照
- 将 HEAD 移动后指向的快照回滚到暂存区域
- --mixed 为默认 可以省略
- ~ 表示上一个版本、~~ 上上一个版本、~2 上两个版本

git reset --soft HEAD~
- 移动 HEAD 指向上一个快照

git reset --hard HEAD~
- 移动 HEAD 指向上一个快照
- 将 HEAD 移动后指向的快照回滚到暂存区域
- 将暂存区域的文件还原到工作目录
- 危险操作，会覆盖本地工作目录

# 回滚指定版本
git reset 版本id
# 例
git reset ad7099 <- 一般前五位就可以了

# 回滚个别文件
git reset 版本快照 文件名/路径

# 可以向前滚
git reset 版本id
# 例
git reset --hard 6bbbc
```

