mirror of
https://github.com/LucasVbr/first-contributions.git
synced 2026-05-14 01:31:50 +00:00
2.0 KiB
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 时的状态。