在不破壞現有commits的情況下,找回被誤刪的檔案 | Git

在使用 Git 進行版本控制時,有時你可能會出現不小心刪除某些檔案,這時需要將某個檔案還原到指定的commit(提交)版本。但是你想在不破壞整個文件夾的commit(提交)版本下,還原某一些檔案,我們將介紹如何使用 Git 命令來找回一些你不小心刪除的檔案。

步驟一:確認提交版本

首先,你需要確定要還原的檔案所在的提交版本。你可以使用 git log 命令來查看提交歷史,找到你需要的提交版本的hash值或者提交訊息。

git log --oneline --graph

這將列出所有的提交記錄,你可以通過向下滾動來查找你感興趣的提交。記下相應的提交hash值或提交訊息以便後續使用。

步驟二:使用restore命令還原檔案

一旦你確定了要還原到哪個提交版本,就可以使用 git restore 命令來還原檔案。假設你要還原的檔案為 example.txt,提交版本的hash值為 abcdef,那麼命令如下:

# 這個指令會將 example.txt 恢復到指定abcdef時的狀態,但不會更改 HEAD 指向的位置。換句話說,它會將文件恢復到指定 commit 的內容,但不會更改你當前的工作目錄或提交歷史。
git restore --source=abcdef example.txt

# 這個指令將會將你的 HEAD 指向指定的 <commit id>,同時將 example.txt 恢復到該 commit 時的狀態。這意味著你的工作目錄會變成那個 commit 的狀態,你可能會處於分離 HEAD 的狀態。
git checkout abcdef example.txt

這將把 example.txt 檔案還原到提交版本 abcdef 的狀態。

這就是使用 Git 將檔案還原到先前的提交版本的方法。透過這個步驟,你可以輕鬆地管理檔案的版本,及時回復到需要的狀態。希望這篇教學對你有所幫助!