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