<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.planetoid.info/index.php?action=history&amp;feed=atom&amp;title=Restoring_deleted_files_in_Git_in_Mandarin</id>
	<title>Restoring deleted files in Git in Mandarin - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.planetoid.info/index.php?action=history&amp;feed=atom&amp;title=Restoring_deleted_files_in_Git_in_Mandarin"/>
	<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Restoring_deleted_files_in_Git_in_Mandarin&amp;action=history"/>
	<updated>2026-04-18T12:12:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Restoring_deleted_files_in_Git_in_Mandarin&amp;diff=26253&amp;oldid=prev</id>
		<title>Planetoid: Created page with &quot;= 復原 GIT 誤刪除的檔案 =  {{LanguageSwitcher | content =  EN,  漢字 }}  == 復原方法 ==  === 方法一：透過 Fork 右鍵選單 ===  使用 [https://git-fork.com/ Fork Git 客戶端軟體]，並且對 &lt;code&gt;Deleted.file&lt;/code&gt; 右鍵選擇了 &#039;&#039;&#039;Reset File to&#039;&#039;&#039;。  # 右鍵點擊被刪除的檔案 # 選擇 &#039;&#039;&#039;Reset File to&#039;&#039;&#039; → &lt;code&gt;State at Commit...&lt;/code&gt; 或 &lt;code&gt;...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Restoring_deleted_files_in_Git_in_Mandarin&amp;diff=26253&amp;oldid=prev"/>
		<updated>2026-03-06T01:31:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= 復原 GIT 誤刪除的檔案 =  {{LanguageSwitcher | content = &lt;a href=&quot;/index.php/Restoring_deleted_files_in_Git&quot; title=&quot;Restoring deleted files in Git&quot;&gt; EN&lt;/a&gt;, &lt;a href=&quot;/index.php/Restoring_deleted_files_in_Git_in_Mandarin&quot; title=&quot;Restoring deleted files in Git in Mandarin&quot;&gt; 漢字&lt;/a&gt; }}  == 復原方法 ==  === 方法一：透過 Fork 右鍵選單 ===  使用 [https://git-fork.com/ Fork Git 客戶端軟體]，並且對 &amp;lt;code&amp;gt;Deleted.file&amp;lt;/code&amp;gt; 右鍵選擇了 &amp;#039;&amp;#039;&amp;#039;Reset File to&amp;#039;&amp;#039;&amp;#039;。  # 右鍵點擊被刪除的檔案 # 選擇 &amp;#039;&amp;#039;&amp;#039;Reset File to&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;State at Commit...&amp;lt;/code&amp;gt; 或 &amp;lt;code&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= 復原 GIT 誤刪除的檔案 =&lt;br /&gt;
&lt;br /&gt;
{{LanguageSwitcher | content = [[Restoring deleted files in Git | EN]], [[Restoring deleted files in Git in Mandarin | 漢字]] }}&lt;br /&gt;
&lt;br /&gt;
== 復原方法 ==&lt;br /&gt;
&lt;br /&gt;
=== 方法一：透過 Fork 右鍵選單 ===&lt;br /&gt;
&lt;br /&gt;
使用 [https://git-fork.com/ Fork Git 客戶端軟體]，並且對 &amp;lt;code&amp;gt;Deleted.file&amp;lt;/code&amp;gt; 右鍵選擇了 &amp;#039;&amp;#039;&amp;#039;Reset File to&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
# 右鍵點擊被刪除的檔案&lt;br /&gt;
# 選擇 &amp;#039;&amp;#039;&amp;#039;Reset File to&amp;#039;&amp;#039;&amp;#039; → &amp;lt;code&amp;gt;State at Commit...&amp;lt;/code&amp;gt; 或 &amp;lt;code&amp;gt;State Before Commit...&amp;lt;/code&amp;gt;&lt;br /&gt;
#* &amp;lt;code&amp;gt;State at Commit...&amp;lt;/code&amp;gt; → 還原到某個特定 commit 的狀態&lt;br /&gt;
#* &amp;lt;code&amp;gt;State Before Commit...&amp;lt;/code&amp;gt; → 還原到該 commit 之前的狀態&lt;br /&gt;
&lt;br /&gt;
&amp;gt; &amp;#039;&amp;#039;&amp;#039;建議：&amp;#039;&amp;#039;&amp;#039; 直接用選單，點 &amp;lt;code&amp;gt;State Before Commit...&amp;lt;/code&amp;gt; 即可快速還原到刪除前的狀態。&lt;br /&gt;
&lt;br /&gt;
=== 方法二：命令列 ===&lt;br /&gt;
&lt;br /&gt;
&amp;gt; &amp;#039;&amp;#039;&amp;#039;注意：&amp;#039;&amp;#039;&amp;#039; 檔案路徑需要完全一樣（大小寫、目錄層級都要一致）。&lt;br /&gt;
&lt;br /&gt;
1. 從最新 commit 還原&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout HEAD -- sub_folder/Deleted.file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. 或從特定 commit 還原（用 commit hash）&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git checkout &amp;lt;commit_hash&amp;gt; -- sub_folder/Deleted.file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 方法三：從 Local Changes 還原 ===&lt;br /&gt;
&lt;br /&gt;
如果檔案還在 &amp;#039;&amp;#039;&amp;#039;Local Changes&amp;#039;&amp;#039;&amp;#039; 裡顯示為已刪除：&lt;br /&gt;
&lt;br /&gt;
# 點左側 &amp;#039;&amp;#039;&amp;#039;Local Changes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# 找到該檔案&lt;br /&gt;
# 右鍵 → &amp;#039;&amp;#039;&amp;#039;Discard Changes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== 常見問題 ==&lt;br /&gt;
&lt;br /&gt;
=== 很久前刪除的檔案，無法從 Fork 快速找到刪除檔案的哪一筆紀錄 commit hash ===&lt;br /&gt;
&lt;br /&gt;
如果還記得檔案名稱（大小寫要一致，但不清楚放在哪一個目錄）：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --all --full-history -- &amp;quot;**/Deleted.file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt; 與 &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; 符號說明：&lt;br /&gt;
# &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt; 匹配任意層數目錄（包含零層）&lt;br /&gt;
# &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; 只匹配單一層目錄或檔名中的任意字元&lt;br /&gt;
&lt;br /&gt;
不確定路徑深度時建議用 &amp;lt;code&amp;gt;**&amp;lt;/code&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
如果不確定檔名大小寫，用 &amp;lt;code&amp;gt;grep -i&amp;lt;/code&amp;gt; 做大小寫不敏感的搜尋：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --all --full-history --name-only --format=&amp;quot;&amp;quot; | grep -i &amp;quot;deleted.file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
出現 N 次，代表這個檔案在 GIT 歷史中被修改過 N 次，有很多版本可以還原。找到正確路徑後，再用完整正確路徑去還原。&lt;br /&gt;
&lt;br /&gt;
找到要復原的 commit hash：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git log --all --full-history -- &amp;quot;**/Deleted.file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 為什麼 &amp;lt;code&amp;gt;git show HEAD --name-only | grep Deleted.file&amp;lt;/code&amp;gt; 沒有結果？ ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git show HEAD --name-only&amp;lt;/code&amp;gt; 只會列出&amp;#039;&amp;#039;&amp;#039;最新那一筆 commit 有變動的檔案&amp;#039;&amp;#039;&amp;#039;，不是所有檔案，所以沒出現不代表不存在。&lt;br /&gt;
&lt;br /&gt;
可能原因：&lt;br /&gt;
* 這個檔案很久沒被修改，最近的 commit 根本沒動到它&lt;br /&gt;
* 檔案已經被刪除了&lt;br /&gt;
* 路徑不對&lt;br /&gt;
&lt;br /&gt;
=== 先確認檔案存在位置 ===&lt;br /&gt;
&lt;br /&gt;
看它現在存不存在於 working tree：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -name &amp;quot;Deleted.file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
看目前 HEAD 裡有沒有這個檔案（不管有沒有被修改）：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git ls-files | grep Deleted.file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&lt;br /&gt;
* [https://git-scm.com/docs/git-restore Git 官方文件 - git-restore]&lt;br /&gt;
* [https://git-scm.com/docs/git-log Git 官方文件 - git-log]&lt;br /&gt;
* [https://www.git-tower.com/learn/git/faq/restoring-deleted-files How to Restore a Deleted File in Git - git-tower]&lt;br /&gt;
* [https://rewind.com/blog/recovering-deleted-files-in-github/ Recovering Deleted Files in GitHub - Rewind]&lt;br /&gt;
* [https://www.smashingmagazine.com/2023/12/recovering-deleted-files-git-working-tree/ Recovering Deleted Files From Your Git Working Tree - Smashing Magazine]&lt;br /&gt;
* [https://www.atlassian.com/git/tutorials/git-log Advanced Git Log - Atlassian]&lt;br /&gt;
* [https://github.blog/open-source/git/gits-database-internals-iii-file-history-queries/ Git&amp;#039;s database internals III: file history queries - GitHub Blog]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Git]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
</feed>