迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

通过提交 ID 恢复 Git 仓库

作者:迹忆客 最近更新:2023/03/30 浏览次数:

本文将讨论基于提交 ID 还原 Git 仓库。我们可能需要回到较旧的提交以检查其状态或删除之后的提交。

让我们讨论这两种情况。


临时切换到 Git 提交

我们使用 git checkout 命令临时切换到较旧的提交,同时提及提交 ID。

$ git checkout <Commit ID>

此命令将分离我们的 repo 的 HEAD(我们没有在分支上签出)。在这种状态下,我们无法提交。

如下所示,我们必须根据提交创建一个新的分支。

$ git switch -c <new-branch-name>

我们可以结合上面的命令来做同样的事情,如下所示。

$ git checkout -b <new-branch-name> <Commit ID>

通过提交 ID 恢复 Git 仓库

我们使用带有 --hard 标志的 git reset 命令,同时传递我们想要回滚到的提交 ID。运行以下命令。

$ git reset --hard <Commit ID>

运行此命令将删除我们最近的所有提交,直到提到的提交。该命令还将删除索引中任何未提交的更改。

如果要保留更改,请执行以下操作:

$ git stash
$ git reset --hard <Commit ID>
$ git stash pop

如果要更新远程仓库,请使用下面的 git push 命令。

$ git push -f

请小心使用此命令,因为它将根据你的本地仓库覆盖远程仓库。让我们看一个例子。

在下面的示例中,我们将尝试根据提交 id 恢复我们的 git repo Delftscopetech。让我们运行 git log 命令来列出我们 repo 中的所有提交。

$ git log --oneline

repo 历史

如果我们想回到 Fourth Update,我们会怎么做呢?

我们在下面的上下文中运行 git reset 命令。

$ git reset --hard df90895
HEAD is now at df90895 Fourth Update

输出显示我们的 HEAD 现在处于 Fourth Update。我们可以运行 git push 命令将更改推送到我们的远程仓库。

如果要撤消重置,请按照此操作。

首先,我们运行 git reflog 命令来查看我们 repo 中的所有参考更新。

$ git reflog

git reflog

你的输出看起来很相似。我们可以在 HEAD@{0} 看到我们的重置。

要返回,我们运行 git reset 命令,如下所示。

$ git reset HEAD@{1}

现在让我们检查一下我们的提交历史。

$ git log --oneline

repo 历史 2

我们的 HEAD 又回到了第六次更新

简而言之,根据提交 ID 恢复你的 Git 仓库非常容易。如果你想暂时切换到提交,请使用 git checkout 命令。

要恢复到特定的提交,请使用 git reset --hard 命令并指明提交哈希。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便