從 Git 中的暫存區刪除更改

Azhar Bashir Khan 2022年4月22日
從 Git 中的暫存區刪除更改

本教程是關於從 Git 的暫存區域中刪除更改。

有時,我們可能希望從暫存區刪除檔案或刪除檔案的更改。我們可以使用 git restore 命令來實現這一點。

使用 git restore 命令從 Git 中的暫存區刪除更改

當我們完成對檔案的更改或當我們想要將新檔案新增到專案目錄中時,在 Git 倉庫中進行跟蹤時,我們會將這些檔案新增到倉庫中。

我們使用 git add 命令將檔案或檔案的更改新增到 Git 中倉庫的暫存區或索引。然後我們可以使用 git commit 命令建立一個提交併將更改提交到 Git 倉庫。

有時,在提交更改之前,我們可能會發現新增到暫存區的新更改不再有效。我們希望從暫存區域中刪除這些更改,而不是提交這些更改。

例如,我們在 Git 倉庫的專案目錄中有一個名為 README.md 的檔案。我們現在對檔案 README.md 進行了一些更改。

我們可以執行 git status 命令來檢查倉庫的狀態,如下所示。

$ git status .
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   README.md

我們可以在上面看到 git status 命令顯示檔案 README.md 已被修改。

我們現在可以將 README.md 檔案修改新增到暫存區。我們可以使用 git add 命令來做到這一點,如下所示。

$ git add .

我們可以再次檢查倉庫的狀態,如下所示。

$ git status .
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   README.md

我們現在可以看到檔案 README.md 的修改現在位於暫存區或索引中。檔案狀態現在處於 Changes to be committed

我們現在可以決定取消暫存更改(即)使用帶有 --staged 選項的 git restore 命令從暫存區域中刪除修改。此資訊顯示在上面的 git status 命令中。

因此,我們現在執行 git restore 命令如下。

$ git restore --staged README.md

我們現在可以再次執行 git status 命令,如下所示。

$ git status .
On branch main
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   README.md

我們可以在上面看到檔案 README.md 的修改不再在暫存區(即);更改不會暫存以進行提交。

因此,我們已經學習瞭如何從 Git 的暫存區域中刪除更改。

有關更多資訊,請訪問這些連結。

  1. git restore
  2. 撤銷本地暫存的修改

相關文章 - Git Restore