Files
first-contributions/docs/additional-material/translations/Chinese/reverting-a-commit.zh-cn.md
T
2025-05-13 20:48:17 +08:00

41 lines
2.0 KiB
Markdown

# 撤销一个提交
撤销一个提交意味着创建一个全新的提交,撤销之前提交所做
的所有更改。这就像在 Git 中执行 `CTRL + Z`
在 Git 中,撤销操作变得更加简单,因为你推送到远程仓库的每个提交都有一个唯一的字母数字键(称为 SHA,安全哈希算法)与之关联。
这意味着只要你有该提交的 SHA,你就可以撤销任何提交。
但你必须小心按顺序撤销操作,以免破坏你的仓库。
为了获取我们想要撤销的特定提交的 SHA,查看所有提交的日志会很有帮助。
要获取此信息,我们可以运行命令:
```git log --oneline ```
仅运行 ```git log``` 命令也会给我们返回 SHA(长格式)。
但使用 ```--oneline``` 标志会告诉 Git 我们希望以简洁(单行)的方式显示,以便更容易阅读。
当你运行此命令时,显示的前 7 个字符就是所谓的简短提交哈希。
例如,运行 ```git log --oneline``` 时,我得到的输出如下:
```
389004d added spacing in title
c1b9fc1 Merge branch 'master' into tutorials
77eaafd added tutorial for reverting a commit
```
这表明,通过使用 ```git log --oneline```,我们可以获取仓库中所有提交的列表,并附带每个提交的前 7 个字符的 SHA。
现在,假设我想撤销我提交的 "在标题中添加了空格" 这个更改,以下是我将采取的步骤:
* 复制该提交的 SHA,在本例中是 ```389004d```
* 然后运行命令 ```git revert 389004d```
这将打开我的文本编辑器,并提示我编辑提交信息。
你可以选择保留 Git 的默认提交信息,该信息以 `Revert` 开头,
也可以根据自己的喜好自定义提交信息。
* 接下来,我将保存并关闭文本编辑器。
* 返回命令行。
* 运行 ```git push origin <branch-name>``` 将撤销的更改推送到 GitHub。
就这样,变更被撤销。在这种情况下,我的仓库将恢复到 ```c1b9fc1``` 时的状态。