如何撤消 git pull
你是否有过这样的经历:在开发一个项目时,运行完后git pull
才发现彻底搞砸了?现在,你所有的代码都被远程仓库中的内容覆盖了——而有时这并不是你想要的。在这种情况下,你很容易感到恐慌,但幸运的是,有几种方法可以将代码恢复到原来的状态并撤消git pull
……
首先,备份你的项目,以防万一情况恶化。另请注意,这些命令会导致你丢失所有未提交的更改——因此备份可以帮助你在继续操作之前保存这些内容。至少这样,你就能拥有当前的版本。备份完成后,你需要获取所有提交历史记录的列表。你可以运行以下命令来执行此操作git reflog
:
git reflog
这将生成如下所示的列表:
648e314 (HEAD -> master, origin/master) HEAD@{0}: commit: Design refresh
b0168ee HEAD@{1}: commit: Minor CSS tweaks
514a02f HEAD@{2}: commit: Fixed extra curly brace
b432ba7 HEAD@{3}: commit: fixed border-radius
a707d13 HEAD@{4}: commit: fixed image border-radius
abf89a3 HEAD@{5}: commit: updated look and feel
选择要恢复到的版本。例如,如果我想恢复到“细微 CSS 调整”,我会选择 ID b0168ee
。接下来,运行以下命令将你的代码库恢复到该版本:
git reset --hard b0168ee
这很简单,并且可以让您更好地控制要恢复的版本。不过,另一种更简单的方法是指定一个时间。如果您不想运行git reflog
,可以运行以下命令将存储库恢复到 30 分钟前的版本(假设您的分支是 )master
。请注意,如果您已经在某个特定分支上工作了很长时间,这可能会将您恢复到很远的版本。在这种情况下,您最好使用之前的方法——但如果你有备份,应该没问题。😄
git reset --hard master@{"30 minutes ago"}