在 Git 中撤消簽出

Abdul Jabbar 2022年4月22日
在 Git 中撤消簽出

命令 git checkout 命令用於將倉庫更新到專案歷史中的特定點。當我們將分支名稱傳遞給它時,它會切換到我們想要當前位置的分支。

該命令還用於撤消 git add 命令。git checkout 命令不會更改工作目錄。它只更新當前專案的索引檔案和倉庫。

git checkout 命令也可用於恢復使用某些 git 命令意外刪除的檔案或目錄。它還可以用於撤消 git move to another folder 命令。

在 Git 中撤消簽出

對於撤消,首先,我們將執行下面提到的命令來檢查某個特定的分支;在我們的例子中,我們正在檢查 master 分支。

git checkout master 

如果我們不在 master 分支上,那麼我們將使用該分支的名稱而不是提及 master。如果它不起作用,我們將對倉庫中的單個檔案嘗試下面提到的命令。

git checkout HEAD /path/to/file 

如果我們想為整個倉庫工作副本執行怎麼辦?我們將執行以下命令來執行此操作。

git reset --hard HEAD

如果上面提到的命令也不起作用,我們將在 reflog 中查詢我們的舊頭 SHA,並將重置為以下配置。

git reflog git reset --hard <sha from reflog>

HEAD 可以被稱為總是指向我們當前分支中最近提交的名稱。

如果我們不在同一個分支,那就和我們的分支頭一樣。或者,如果我們在錯誤的分支上,請使用我們打算所在的分支的名稱而不是 HEAD。

換句話說,HEAD 是我們當前正在處理的分支中最新提交的名稱,並且它已經被簽出。

git reset --hard HEAD

如果我們想要重置以檢出或反轉來自另一個分支的錯誤命令的影響,我們也可以使用不同分支的名稱。

提示: reflog 就像我們迄今為止所做的所有提交的所有 SHA-1 值的日誌。我們有時可以使用這些 SHA-1 值來查詢我們在上次提交中移出的舊提交的 SHA-1 值。

提示:如果我們在錯誤的分支上並且我們想回到我們之前所在的分支,我們可以使用以下 Git 命令來執行此操作:

git checkout <branch we want to switch to
作者: 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 Checkout