在 Git 中重置 HEAD

Abdul Jabbar 2023年1月30日
  1. Git Head 重置
  2. Git Head Reset --soft
  3. Git Head Reset --mixed
  4. Git Head Reset --hard
在 Git 中重置 HEAD

在处理共享仓库时,Git 在许多方面为我们提供了帮助。

我们可以使用 Git 执行许多功能,因为我们可以根据我们的要求创建一个新分支、合并一个分支、删除一个分支。这些操作可以通过多个 Git 命令来完成。

命令 git reset 是一个复合和多源功能,用于撤消更改。该命令可以与三个主要选项一起使用:--soft--mixed--hard

这三个参数对应于 Git 的管理机制,称为提交树 (HEAD)。

HEAD 指出应用 Git 切换分支时的最后一次提交。此外,我们也可以说 Git HEAD 指向当前分支的最后一次提交。

当我们切换一个分支或创建一个新分支时,Git HEAD 会将最新的提交传输到我们的本地分支。更准确地说,HEAD 是一个始终指向当前提交的指针,它可能或有时可能不属于当前分支。

Git Head 重置

当我们将更改保存到所需的仓库时,我们应该放松一下,因为我们已经使用 git reset 命令返回到已完成的更改,它将使我们当前的分支回到它之前的原始位置命令运行。

选项 HEAD 发布新分支。我们可以说 git reset-hard HEAD 可以做的就是清除我们所做的所有未提交的更改。

git reset 命令可以与其他命令结合使用:

  • 转移 HEAD 分支指向的内容。
  • 使它看起来像一个树对象。
  • 看起来像当前的工作文件夹。

而且,有两种不同类别的 git reset

Git Head Reset --soft

这个 Git 命令将重置 HEAD。但是我们的索引和工作目录不会受到任何影响。

我们可以使用 Git reset 命令选项来重置本地分支的头部:

git reset --soft

Git Head Reset --mixed

git reset 混合命令会将头部位置更改为指定的提交,并进一步从暂存区中删除更改。这是撤消更改的示例。

因此,如果我们运行 Git reset HEAD 命令,它将再次将 HEAD 移回第一个父提交。上述情况的语法如下:

git reset --mixed or $ git reset

Git Head Reset --hard

这个命令对我们来说可能是一个障碍。只有当我们确切地知道如何使用它时才能使用它。

当我们使用 git reset-hard HEAD 恢复到最后一次提交时,这对我们来说是一个问题。幸运的是,我们开发人员有更好的解决方案来纠正它。

请注意,git reset --hard 是一个具有威胁性的命令。它可以粉碎我们所有未提交的修改。我们应该首先检查它并确保在处理它之前 Git 状态输出是干净的。

如果我们想删除索引和暂存区中的所有提交(我们需要撤消我们的最后一次提交和之前的最后一次提交),此命令将删除存储在索引中的提交。我们可以使用带有 --hard 选项的 Git reset 命令:

git reset --hard HEAD~2

此命令将从索引和暂存区中删除任何提交。它还将从历史记录中删除提交。

作者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相关文章 - Git Reset