在 Git 中把一個檔案恢復到以前的提交狀態

Azhar Bashir Khan 2022年4月22日
在 Git 中把一個檔案恢復到以前的提交狀態

Git 是一個版本控制系統。我們使用它來跟蹤對專案目錄中的檔案所做的更改。在協作開發環境中,許多團隊成員經常處理相同的檔案並更改這些檔案。

我們經常面臨這樣一種情況,即我們不再找到適合我們目的的檔案更改的當前版本。因此,在這種情況下,我們希望將此類檔案還原為該檔案的特定先前版本。

使用 Git,我們可以完成將檔案恢復到以前的提交。

本教程將教授如何在 Git 中將檔案還原為以前的提交。我們將通過一個例子來說明這一點。

在 Git 中把檔案恢復到之前的提交

我們在協作開發環境中使用 Git 來跟蹤對檔案所做的更改。Git 使用提交來完成跟蹤檔案更改的任務。

因此,使用檔案的提交歷史,我們可以檢視不同版本對檔案所做的各種更改。

通常,我們可能會遇到一種情況,即我們發現檔案的當前版本不再適合我們的需要。此外,我們發現檔案提交歷史中的特定修訂更符合我們當前的需求。

因此,在這種情況下,我們希望將檔案恢復到以前的版本或在 Git 倉庫的提交歷史記錄中提交。

假設我們的專案 Git 倉庫中有一個名為 README.md 的檔案。我們可以使用 git log 命令瀏覽該檔案的提交歷史記錄,如下所示。

$ git log --oneline README.md
814b51e Updated README.md, further notes
9cbe84d Updated README.md, added some notes
dfe8d6c Initial commit

我們發現 SHA 雜湊 9cbe84d 給出的提交時檔案 README.md 的版本是我們想要的。

為此,我們可以使用命令 git checkout。將檔案恢復到先前提交的命令語法是 git checkout <commit> -- <file-to-revert>

因此,我們需要執行以下操作以將檔案 README.md 還原為 SHA 雜湊 9cbe84d 給出的提交所給出的版本。

$ git checkout 9cbe84d -- README.md

README.md 檔案恢復為由 SHA 雜湊 9cbe84d 給出的先前提交。

請注意謹慎使用 git checkout 命令。對檔案所做的本地更改將被丟棄。Git 用給定的提交版本替換檔案。

確保僅在你確定並且不希望那些未儲存的本地更改時才使用它。

因此,我們展示瞭如何在 Git 中將檔案恢復為之前的提交。

如需更多資訊,請訪問以下連結。

  1. git 檢出
  2. Git 基礎-撤消操作