# 重置一个分支

`reset` 是一个可以用来重置仓库（相对于某个提交或分支）的命令。正如其名字所示，重置会丢弃当前（基础）分支上的所有内容，并使其与我们选择重置的目标分支（称为原始分支）完全相同。这实际上意味着，我们将得到一个原始分支的副本，名称为基础分支。<br/>
然而，问题是，为什么我们不直接删除基础分支，然后从原始分支中检出一个新的基础分支呢？从技术角度来看，这将与重置具有相同的效果，但在一些工业场景下，我们无法删除分支，或者我们不能删除分支，因为删除分支可能会干扰/破坏 CI/CD 流水线，或者影响正在进行的工作流。因此，为了避免这种可能导致停机的情况，我们建议在需要重置某个分支时使用 `git reset`。

## 命令

执行 `git reset` 重置分支非常简单。
```
git reset <base_branch> <origin_branch>
```

一个示例如下：
```
git reset stage master --hard
```
上述命令将 `stage` 分支重置为 `master`，因此 `stage` 分支将与 `master` 完全相同。
你可能会想，为什么要使用 `--hard` 标志？这是为了忽略在重置之前或之后被暂存的所有更改。
