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

2.0 KiB

撤销一个提交

撤销一个提交意味着创建一个全新的提交,撤销之前提交所做 的所有更改。这就像在 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 时的状态。