Editing
Restoring deleted files in Git in Mandarin
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== 常見問題 == === 很久前刪除的檔案,無法從 Fork 快速找到刪除檔案的哪一筆紀錄 commit hash === 如果還記得檔案名稱(大小寫要一致,但不清楚放在哪一個目錄): <pre lang="bash"> git log --all --full-history -- "**/Deleted.file" </pre> <code>**</code> 與 <code>*</code> 符號說明: # <code>**</code> 匹配任意層數目錄(包含零層) # <code>*</code> 只匹配單一層目錄或檔名中的任意字元 不確定路徑深度時建議用 <code>**</code>。 如果不確定檔名大小寫,用 <code>grep -i</code> 做大小寫不敏感的搜尋: <pre lang="bash"> git log --all --full-history --name-only --format="" | grep -i "deleted.file" </pre> 出現 N 次,代表這個檔案在 GIT 歷史中被修改過 N 次,有很多版本可以還原。找到正確路徑後,再用完整正確路徑去還原。 找到要復原的 commit hash: <pre lang="bash"> git log --all --full-history -- "**/Deleted.file" </pre> === 為什麼 <code>git show HEAD --name-only | grep Deleted.file</code> 沒有結果? === <code>git show HEAD --name-only</code> 只會列出'''最新那一筆 commit 有變動的檔案''',不是所有檔案,所以沒出現不代表不存在。 可能原因: * 這個檔案很久沒被修改,最近的 commit 根本沒動到它 * 檔案已經被刪除了 * 路徑不對 === 先確認檔案存在位置 === 看它現在存不存在於 working tree: <pre lang="bash"> find . -name "Deleted.file" </pre> 看目前 HEAD 裡有沒有這個檔案(不管有沒有被修改): <pre lang="bash"> git ls-files | grep Deleted.file </pre>
Summary:
Please note that all contributions to LemonWiki共筆 are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
LemonWiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Current events
Recent changes
Random page
Help
Categories
Tools
What links here
Related changes
Special pages
Page information