📌  相关文章
📜  如何恢复上次提交的 git - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:53:05.682000             🧑  作者: Mango

如何恢复上次提交的 git

很多时候我们在使用 Git 进行代码管理时,可能会不小心把代码提交到了远程仓库或者本地仓库,并且觉得这些提交的代码并不是很符合实际需求,需要进行一定的修改。所以本文就来介绍如何通过撤销上次提交的方式,并将代码恢复到上一个版本。

恢复上一次提交方法一:使用 git reset 命令

git reset 命令可以将当前分支的 HEAD 指针移到指定的提交,并将暂存区和工作目录还原到指定提交的状态。

git reset [--soft | --mixed | --hard] [HEAD] (Commit ID)
  • --soft 选项:重置 HEAD 指针,但不会改变暂存区和工作目录的内容,这样你就可以更改提交信息或者重新提交代码。
  • --mixed 选项:重置 HEAD 指针,并将暂存区内容还原到指定提交的状态。使用这个选项可以撤销上一次的提交,但你仍然可以保留未提交的变更,然后根据实际情况重新添加和提交修改后的代码。
  • --hard 选项:重置 HEAD 指针,并将暂存区和工作目录的内容都还原到指定提交的状态。使用这个选项时,你将永久删除上一次的修改,因此在使用该选项时必须十分慎重。

举个例子,我们要恢复 commit 为 ab12345 的提交:

git reset --soft ab12345 # 重置 HEAD 指针

然后就可以按需修改并重新提交修改后的代码。

恢复上一次提交方法二:使用 git revert 命令

git revert 命令用于撤销已提交的修改,撤销后将会形成一次新的提交。

git revert (Commit ID)

举个例子,我们要撤销 commit 为 ab12345 的提交:

git revert ab12345 # 撤销指定的提交

这样就会生成一条新的提交记录,撤销了 ab12345 的提交,你可以按需提供撤销提交的信息。

总结

通过上述方法,我们就可以轻松地恢复到上一个版本,并根据实际需求进行再次提交或者撤销提交。同时,需要注意的是在使用 git reset --hard 命令时一定要慎重,因为这个命令十分具有破坏性,它会永久删除上一次的修改,可能会导致不可预知的后果。