如何撤消 Git 中的最后一次提交

介绍

当您处理 Git 存储库时,有时您想撤消上一次提交。 幸运的是,Git 有一个名为 HEAD 的特殊指针,它指向您正在处理的本地分支中的最新提交。

要撤消提交,您必须将 HEAD 指向当前工作分支的上一个提交 ID。

本教程将向您展示撤消 Git 中最后一次提交的方法。

撤消最后一次提交

您可以使用以下命令撤消 Git 中的更改:

$ git reset <commit-id>

git reset 命令附带了一些额外的参数:

–soft:在当前工作目录和暂存索引不变的情况下将 HEAD 更新为给定的提交。

–mixed:将 HEAD 更新为给定的提交,并将暂存索引更改为指定的提交,同时不更改当前工作目录。 此选项是使用不带任何参数的 git reset 命令时的默认操作。

–hard:更新 HEAD 并将当前工作目录和暂存索引都更改为指定的提交。 使用此选项时,请记住您未提交的所有本地更改都将丢失。

软复位

为了避免在撤消上次提交时丢失您对当前工作目录和暂存索引所做的更改,让我们运行以下命令:

$ git reset --soft HEAD~1

HEAD~1 表示 HEAD 之前的一次提交(最新提交的前一次提交)。

在撤消最新提交之前:

使用 –soft 选项撤消最新提交后: