在 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 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