freeCodeCamp/guide/chinese/git/git-reset/index.md

45 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Git Reset
localeTitle: Git重置
---
## Git重置
`git reset`命令允许您将当前头重置为指定状态。您可以重置特定文件的状态以及整个分支。
### 重置文件或文件集
以下命令允许您有选择地选择内容块并还原或取消暂存。
```shell
git reset (--patch | -p) [tree-ish] [--] [paths]
```
### 取消暂存文件
如果您使用`git add`文件移动到暂存区域,但不再希望它成为提交的一部分,则可以使用`git reset`来取消`git reset`该文件:
```shell
git reset HEAD FILE-TO-UNSTAGE
```
您所做的更改仍将在文件中,此命令只是从暂存区域中删除该文件。
### 将分支重置为先前的提交
以下命令将当前分支的HEAD重置为给定的`COMMIT`并更新索引。它基本上会回退你的分支的状态,然后你所做的所有提交都会写出重置点之后的任何内容。如果省略`MODE` ,则默认为`--mixed`
```shell
git reset MODE COMMIT
```
`MODE`的选项是:
* `--soft` 不重置索引文件或工作树但重置HEAD以`commit` 。将所有文件更改为“要提交的更改”
* `--mixed` :重置索引但不重置工作树,并报告尚未更新的内容
* `--hard` :重置索引和工作树。自`commit`以来对工作树中跟踪文件的任何更改都将被丢弃
* `--merge` :重置索引并更新工作树中`commit`和HEAD之间不同的文件但保留索引和工作树之间不同的文件
* `--keep` :重置索引条目并更新工作树中`commit`和HEAD之间不同的文件。如果`commit`和HEAD之间不同的文件具有本地更改则重置将中止
### 更多信息:
* [Git重置文档](https://git-scm.com/docs/git-reset)