回答
一些更好的IDE會將您的文件作爲本地歷史記錄進行跟蹤。如果您從外部刪除文件(例如,git reset
),您應該能夠在父目錄的IDE上單擊並選擇「與本地歷史記錄進行比較」。
我PHPStorm
IDE成功使用此功能時,我未跟蹤文件已經被一些實用消滅了......
對於Eclipse,導航到文件所在的文件夾/包(Project Explorer或Package Explorer視圖),右鍵單擊,然後從上下文菜單中選擇「從本地歷史記錄中恢復...」。 – 2014-12-30 22:47:00
omg ...你救了我的命。我在一個零提交項目中使用'git reset --hard',這意味着'git fsck --lost-found'不起作用。幸運的是,我閱讀你的答案,並在WebStorm中使用'恢復歷史記錄',併成功得到了擦除代碼... – 2016-05-30 12:20:04
總是很高興聽到我的回答貢獻了一個「快樂結局」:) – 2016-05-31 05:58:49
否...................事實並非如此。
git reset --hard
是一個非常危險的命令,所以要小心,當你使用它下一次:)
如果你沒有犯任何這些文件,好像你就沒有機會恢復。
否則,reflog命令可以幫助你。
,你不能訪問到以前的版本從混帳未跟蹤刪除的文件,因爲coruse,他們不存在。我會從一些備份中恢復它們(也許還有隱藏在IDE /編輯器中的備份文件?),或者,我會避免在該文件系統上工作太多,並開始搜索恢復工具。
編輯好!我從文件中意外丟棄了未跟蹤的更改(詛咒Github應用程序),但意識到我仍然在Atom中打開了該文件,並且可以直接點擊「撤消」來恢復我的更改。 – henrebotha 2016-04-29 09:03:16
@henrebotha,嗨!這只是發生在我身上,但不幸的是我沒有在git硬重置時打開我的原子,你知道我可以保存的任何可能的方式。非常愚蠢的是,我在未跟蹤的文件中有大量的東西。 – 2017-06-15 18:27:10
@ gdad-s-river您應該仍然可以在事後打開Atom並且點擊'撤消',只要您在Atom中編輯了文件。 – henrebotha 2017-06-19 06:50:50
git reset --hard
不會刪除未跟蹤的文件。然而,git clean
將會。
不過,如果你git add
的文件,不要git commit
它們,然後運行git reset --hard
這些文件將丟失。
但沒關係,因爲它們可以恢復,如this answer所示。 (那麼,直到下一個git gc
)。
(注意:。的步驟似乎已經改變了一下,因爲公認的答案被張貼但這個想法是一樣的)
要添加到接受的答案,我能使用Webstorm 2016恢復我刪除的文件。
- 首先,我丟失了我的文件,使用git
git clean -f
進行強制清理。 要恢復它,我在Webstorm去了,做了以下步驟:
轉到項目爲您的項目選項卡上,單擊鼠標右鍵獲得到「查看歷史」下「地方史」。 (As shown in this picture.)
單擊「顯示歷史記錄」後,可以看到彈出窗口中顯示「外部更改 - >恢復」。單擊以恢復右側所需的文件。(As shown in the attached picture.)
經過以上2個步驟後,您應該會看到您的文件回到'項目'選項卡。彈出的「本地歷史」將顯示如附圖所示的內容。 Reverted to External Change你會得到一個選項讓它添加到Git中。
要解開它,只需從命令行執行
git reset HEAD <filename>
即可。
- 1. GIT恢復已刪除的文件夾
- 2. Git從跟蹤中刪除已刪除的文件
- 3. git pull,保留未跟蹤的文件忽略並覆蓋已修改或已刪除的已跟蹤文件
- 4. 我可以恢復從未提交的已刪除文件嗎?
- 5. 混帳 - 恢復已刪除的文件未追蹤
- 6. 什麼是GIT中的跟蹤文件和未跟蹤文件?
- 7. 如何在Git中刪除未跟蹤的文件?
- 8. 在git中恢復已刪除的歷史記錄文件
- 9. 刪除由Git跟蹤的文件
- 10. Git是如何刪除未跟蹤文件
- 11. 你可以使用git刪除文件後恢復文件嗎?
- 12. 如何從git中刪除未跟蹤的文件時拉
- 13. 如何刪除Git中的重複文件跟蹤
- 14. 是否有可能在perforce中恢復已刪除的擱置文件?
- 15. 恢復已刪除的git存儲庫
- 16. 恢復刪除的文件夾git的
- 17. 從狀態中刪除git未跟蹤的文件,而不刪除從HD
- 18. 是否有可能在Github上恢復已刪除的要點?
- 19. git-merge會刪除未跟蹤的文件嗎?
- 20. Git添加修改,刪除和未跟蹤的所有文件?
- 21. Git克隆導致刪除和未跟蹤的文件
- 22. Git不會刪除未跟蹤的文件
- 23. 未跟蹤文件仍出現在git的狀態
- 24. 是否有可能恢復plone 4.1中刪除的文件夾?
- 25. 恢復已刪除的git文件,github中的文件n刪除未分階段
- 26. 恢復已刪除的Cassandra DB文件
- 27. 恢復已刪除的文件NetBeans 8.0.2?
- 28. Perforce - 恢復已刪除的文件
- 29. 如何恢復已刪除的文件
- 30. SVN恢復已刪除的文件
如果發生了什麼'git的add'這些文件在某些時候,即使你從來沒有承諾他們,他們仍然會被周圍,直到他們收集的垃圾(約兩週)垂下斑點。 'git fsck'會將對象列爲[dangling or unreachable](https://stackoverflow.com/a/36671659/712526)。然後你可以使用'git cat-file -p deadbeef> old-file-name'來恢復它們。 – jpaugh 2017-08-23 19:36:15
([Pod的答案](https://stackoverflow.com/a/45815093/712526)已經涵蓋了這個,哎呀!) – jpaugh 2017-08-23 19:48:18
可能重複:https://stackoverflow.com/q/25791533/712526 – jpaugh 2017-08-23 19:49:29