在 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