假设你正在 Git 中处理你的代码,但有些事情没有按计划进行。所以现在你需要恢复你的最后一次提交。你怎么做呢?让我们一探究竟吧!
有两种可能的方法可以撤消上次提交。我们将在本文中介绍它们。
revert
命令
revert
命令将创建一个提交,该提交还原所针对的提交的更改。你可以使用它来恢复最后一次提交,如下所示:
git revert <commit to revert>
你可以使用 git log 找到要还原的提交的名称。那里描述的第一个提交是创建的最后一个提交。然后你可以从那里复制字母数字名称,并在 revert
命令中使用它。

reset
命令
你还可以使用 reset
命令撤消上次提交。但要小心——它会改变提交历史,所以你应该很少使用它。它会将 HEAD(工作分支)移动到指定的提交,并在之后丢弃任何内容:
git reset --soft HEAD~1
--soft
选项意味着你不会丢失可能有的未提交更改。

如果要重置为最后一次提交,并删除所有未暂存的更改,可以使用 --hard
选项:
git reset --hard HEAD~1
这将撤消最新的提交,但也会撤消任何未提交的更改。

你应该在 Git 中使用 reset
或 revert
吗
如果被重置的提交只存在于本地,你真的应该只使用 reset
。此命令会更改提交历史记录,并且可能会覆盖远程团队成员所依赖的历史记录。
revert
是创建一个新的提交来撤消更改,因此如果要恢复的提交已经被推送到共享仓库,最好使用 revert
,因为它不会覆盖提交历史。
小结
你已经学习了两种撤消最后一次提交的方法,以及何时最好使用其中一种方法。
现在,如果你注意到上次提交引入了错误或不应该提交,你就知道如何修复它了!
原文:Git Revert Commit – How to Undo the Last Commit,作者:Ilenia Magoni