在 Git 中撤消 rm

Abdul Jabbar 2023年1月30日
  1. 在 Git 中刪除檔案
  2. 使用 Git checkout 命令恢復 rm 命令:
  3. 使用 Git reset 命令恢復 rm 命令
在 Git 中撤消 rm

在 Git 中,術語 rm 是 git remove 命令的別名。因此它用於從倉庫中刪除單個檔案或一堆檔案。Git 中 git rm 的主要功能是使用 Git 索引刪除跟蹤的檔案。

但是,git rm 也可用於從工作目錄和索引中刪除檔案。它從當前工作目錄及其在同一分支中的子目錄中刪除檔案。它不會刪除當前工作目錄之外的檔案。值得一提的是,git rm 命令不用於刪除倉庫中的分支。

在 Git 中刪除檔案

要從 Git 索引中刪除單個檔案,我們使用以下命令:

$ git rm <file>

同樣,要從 Git 中刪除一堆檔案,我們使用以下命令。

$ git rm <file> <file> <file> ...

如果我們希望從工作目錄中刪除檔案,我們使用以下命令:

$ git rm --cached <file>

git rm --cached 從工作目錄中刪除檔案時,它不會從 Git 索引中刪除它。

但是在這篇文章中,我們說明了如果我們不小心應用了這個命令該怎麼辦,現在我們想恢復它。下面提到的方法是還原更改的簡單方法。Git 有很多命令可以恢復它。我認為最好在以下部分涵蓋我們將使用最多的內容:

使用 Git checkout 命令恢復 rm 命令:

首先,我們將執行命令 git reset 將暫存區恢復為我們所做的更改。

git reset

應用 git reset 後,我們將執行 git checkout 以恢復同一倉庫中上次簽入時刪除的檔案或資料夾。

git checkout <file-name>

如果我們不想恢復暫存區域並檢查已刪除的檔案,我們可以通過提及 head 來輕鬆執行它,以達到預期的目標,如下所示:

git checkout HEAD <file-name>

使用 Git reset 命令恢復 rm 命令

如果我們沒有重要的未提交更改,那麼我們將使用 --hard 選項執行 git reset,這會將所有內容重置為我們在分支中的最新提交:

git reset --hard HEAD

如果我們有未提交的更改,但第一個 git 命令不起作用,那麼我們將使用 git stash 儲存未提交的更改:

git stash
git reset --hard HEAD
git stash pop
作者: 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