在 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