author avatar
    測試部技術長
最後由李浩然 2026-8-13進行了更新

摘要
不小心刪除了重要的程式碼嗎?先別慌!本文會詳細說明如何透過 Git 還原已刪除檔案,涵蓋未暫存、已暫存與已提交等狀態的救援方法。除了 Git 原生指令外,當版本控制紀錄遺失時,我們也會說明如何使用第三方資料救援軟體找回重要檔案。請按照以下步驟,一起找回遺失的檔案吧!



Git 還原指令比較:restore、checkout、reset、revert
發現專案裡少了一個檔案嗎?也許是誤按刪除、誤執行了 git rm,或是切換分支後發現重要檔案不見了。會慌張很正常,但 Git 的設計本來就能保護您的心血。重點是先冷靜下來,避免情況變得更糟。
在 Git 中,誤刪檔案主要分為三種情況,每種情況都需要不同的還原方法:
刪除類型發生了什麼事Git 顯示狀態還原方法

工作樹刪除(未暫存)

檔案已從本機移除,但 Git 仍有紀錄。

列在未暫存的變更下,狀態為已刪除。

使用 git restore {file}git checkout -- {file} 進行還原。

已暫存刪除(git rm

您已將刪除動作加入暫存。

列在將要提交的變更下,狀態為已刪除。

使用 git restore --staged --worktree {file} 取消暫存並從 HEAD 還原檔案。

已提交刪除

檔案在先前的提交中被刪除,現已成為歷史紀錄的一部分。

不會顯示在 git status 中,因為刪除動作已提交。

使用 git checkout {commit} -- {file}git restore --source={commit} {file} 進行還原。

commit:您想從 Git 歷史紀錄中取出檔案的參照點。範例:abc123HEAD~2main
file:您想還原的特定檔案。範例:src/app.jsdocs/guide.md
立即採取行動: 停止編輯,不要暫存新變更;確認檔案狀態前也絕對不要提交。任何多餘動作都可能覆寫您正要還原的資料。
該使用哪個還原指令,取決於檔案目前的狀態。接下來的章節會協助您確認狀態,並選擇正確的還原方式,順利救回已刪除的檔案。

先確認檔案狀態:本機刪除、已暫存或已提交

下任何還原指令前,先確認 Git 目前如何看待被刪除的檔案。請在儲存庫根目錄執行:
git status
使用 git status 顯示已刪除檔案
輸出結果會告訴您刪除動作屬於本機(未暫存)、已暫存還是已提交。若要檢查檔案的歷史紀錄,請使用:

git log –oneline — {file}

file 替換為遺失檔案的路徑。這會顯示影響該檔案的近期提交,協助您找出它被刪除的時間。
請對照下方表格,找出您的 git status 輸出結果對應的還原指令。(典型範例請見截圖。)
git status 輸出結果刪除類型建議指令

deleted: file.txt(在「未暫存的變更」下)

本機刪除(未暫存)

git restore file.txt

deleted: file.txt(在「將要提交的變更」下)

已暫存刪除

git restore --staged --worktree file.txt

檔案在 status 和工作樹中都不存在(但記錄在 git log 中)

已提交刪除

git restore --source={commit} {file}

更多細節請參閱官方 Git 文件中的 git restore 說明 。先確認自己遇到的是哪種情況,可以節省時間,也能避免資料意外遺失。

當 Git 也幫不上忙時:使用 Renee Undeleter 救援檔案

有時候 Git 的歷史紀錄也幫不上忙。例如檔案從未受到追蹤、分割區被格式化、工作副本在 Git 以外被覆寫,或本機歷史紀錄遺失。在這些情況下, Renee Undeleter 可作為備用方案。它會掃描硬碟、尋找檔案簽章,協助您救援 Git 無法處理的資料。
熱點推薦 使用 Renee Undeleter 救援 Git 遺失的檔案

簡單易用 簡單幾步即可從不同的儲存裝置救回檔案。

多種掃描方案 內建多種掃描方案,可針對不同的檔案丟失原因進行掃描救援!

多檔案類型救援 可從不同的儲存裝置中救回多種類型的檔案。

救援前可預覽 可邊掃描邊預覽已掃描到的檔案,確認檔案內容及質量後,可立即停止掃描進行救援!

適用於:Windows 10 / 8.1 / 8 / 7 / Vista / XP (32bit/64bit) & Mac OS 10.6 或以上

簡單易用 簡單幾步即可救回檔案。

多檔案類型救援 可從不同的儲存裝置中救回多種格式的檔案。

多種掃描方案 可針對不同的檔案丟失原因進行救援!

免費試用免費試用免費試用已有1000名用戶下載并使用Renee Undeleter成功救回丟失的檔案資訊!
Renee Undeleter 是一款專業的資料救援 工具,可從電腦中救回遺失或已刪除的檔案。它支援多達 400 種檔案格式與所有主流 Windows 檔案系統。操作介面簡單易用,即使沒有技術背景,也能輕鬆點擊幾下完成掃描、預覽與還原。

Renee Undeleter 檔案救援圖文說明

步驟 1: 請在 Windows 電腦上下載、安裝並執行 Renee Undeleter。
提示:不要 將 Renee Undeleter 安裝在遺失檔案所在的同一顆硬碟上。若繼續在該硬碟安裝軟體或儲存新資料,可能會覆寫您要還原的已刪除檔案。
步驟 2: 在主介面中,若是誤刪檔案,請選擇 [ 檔案救援 ] ;若硬碟已格式化或無法存取,則選擇 [ 分割區救援 ]
Renee Undeleter:選擇檔案救援
資料救援功能
- 檔案救援: 適用於誤刪檔案或清空資源回收筒。
- 分割區救援: 適用於已格式化或無法存取的分割區。
- 全面掃描: 全面掃描所有分割區。
- 建立鏡像: 製作分割區的備份鏡像。
步驟 3: 選擇遺失資料所在的分割區,然後點擊 [ 下一步 ]
選擇分割區進行檔案救援掃描
步驟 4: 選擇 [ 快速掃描 ] ,然後點擊 [ 下一步 ] 。如果找不到檔案,請改用 [ 深度掃描 ] 進行更徹底的搜尋(耗時較長)。
在檔案救援中選擇快速掃描
步驟 5: 等待掃描完成。按兩下任何檔案即可預覽,接著勾選要還原的檔案並點擊 [ 還原 ]
還原前預覽檔案
重要提醒: 請務必將還原的檔案儲存到與來源 不同的硬碟 。若存回同一顆硬碟,可能會永久覆寫您想還原的資料。
熱點推薦 使用 Renee Undeleter 救援 Git 遺失的檔案

簡單易用 簡單幾步即可從不同的儲存裝置救回檔案。

多種掃描方案 內建多種掃描方案,可針對不同的檔案丟失原因進行掃描救援!

多檔案類型救援 可從不同的儲存裝置中救回多種類型的檔案。

救援前可預覽 可邊掃描邊預覽已掃描到的檔案,確認檔案內容及質量後,可立即停止掃描進行救援!

適用於:Windows 10 / 8.1 / 8 / 7 / Vista / XP (32bit/64bit) & Mac OS 10.6 或以上

簡單易用 簡單幾步即可救回檔案。

多檔案類型救援 可從不同的儲存裝置中救回多種格式的檔案。

多種掃描方案 可針對不同的檔案丟失原因進行救援!

免費試用免費試用免費試用已有1000名用戶下載并使用Renee Undeleter成功救回丟失的檔案資訊!

常見問題

git restore 與 git checkout 在檔案還原上有什麼差別?

git restore 是用來還原工作樹或暫存區變更的現代化專用指令。git checkout -- {file} 也能還原工作樹,但語意較不明確,也容易和切換分支混淆。Git 現在建議使用 git restore 還原檔案,因為它能更清楚區分不同操作。

為什麼 git restore 會顯示「pathspec did not match」?該如何解決?

這個錯誤代表您提供的檔案或路徑,不在目前分支的 HEAD 追蹤範圍內。請再次確認路徑;可使用 git ls-files 列出被追蹤的檔案。若檔案是在較早的提交中被刪除,您可能要指定仍包含該檔案的 --source,例如先前的提交或其他分支。

能否還原舊提交中刪除的檔案,同時不影響新變更?

可以。使用 git restore --source={old_commit} {file} 就能將檔案還原到該提交時的狀態。您的工作樹和其他檔案會保持不變,您可以視需要檢閱或提交這次還原。

執行 git reset --hard 後還能還原檔案嗎?

通常可以。git reset --hard 會捨棄本機變更,但 Git 會在 reflog 中保留無法存取的提交一段時間。請使用 git reflog 找出該檔案仍存在的提交,再使用 git restore --source={reflog-entry} {file} 還原它。
熱點推薦 專業檔案救援軟體 - Renee Undeleter

簡單易用 簡單幾步即可從不同的儲存裝置救回檔案。

多種掃描方案 內建多種掃描方案,可針對不同的檔案丟失原因進行掃描救援!

多檔案類型救援 可從不同的儲存裝置中救回多種類型的檔案。

救援前可預覽 可邊掃描邊預覽已掃描到的檔案,確認檔案內容及質量後,可立即停止掃描進行救援!

適用於:Windows 10 / 8.1 / 8 / 7 / Vista / XP (32bit/64bit) & Mac OS 10.6 或以上

簡單易用 簡單幾步即可救回檔案。

多檔案類型救援 可從不同的儲存裝置中救回多種格式的檔案。

多種掃描方案 可針對不同的檔案丟失原因進行救援!

免費試用免費試用免費試用已有1000名用戶下載并使用Renee Undeleter成功救回丟失的檔案資訊!

使用者評論

Page 1

發表評論


您的留言已提交,正在等待審核。