2015-04-01 115 views
0

我知道關於此主題有很多類似的問題,所以如果這是重複的,我很抱歉。然而,我認爲與我見過的其他人相比,這種情況是獨一無二的。還原刪除分支時刪除的git上的文件

我的回購目錄中有一些本地文件,我沒有意識到這些文件沒有跟蹤。然後我創建了一個新的本地分支,對目錄結構進行了重大改變,並完成了整個目錄的git添加並提交(這是我可以想到的提供重構的最方便的方式)。

我後來改變了我對重組的看法,所以我刪除了整個分支而沒有合併它,但是這不幸地刪除了其他分支中沒有出現的所有以前未跟蹤的文件。

我能夠從已刪除的分支中找到提交併檢出它們,但刪除的文件無處可查。我也試過使用:

git log -- <filepath> 

不幸的是,這也沒有顯示任何東西。這些文件分別是當分支被刪除時被刪除,所以它們一定是在某個時候被git跟蹤過的,但我根本找不到任何東西。

+0

你怎麼知道他們承諾? – 2015-04-02 15:53:42

回答

0

如果文件是真正的承諾,和你引用日誌未被刪除(默認 - 30天),你應該能夠看到它的提交影響一組特定的文件或目錄由下列之一:

git reflog -- path/to/some/file.txt 
git reflog -- path/to/some/file.txt path/to/another/file.txt 
git reflog -- path/to/some/directory 
git reflog -- */some.file 

如果它沒有顯示,那麼這意味着它從未被添加到提交。

如果有人可能藏匿,然後下面的命令可以幫助:

git stash list -- path/to/some/file.txt 
+0

我想我真的從來沒有犯過這些文件,儘管這讓我在黑暗中他們如何被刪除。這是大約14個不同的子目錄分佈在我的回購中的其他10個目錄中,所以我肯定不會手動刪除它們。無論如何,我相信如果我對他們做出承諾,那麼你的回答就能解決問題,無論如何謝謝! – 2015-04-03 14:40:23

+0

@ user3174484嗯,我想知道你不能恢復他們的Git,而不是對它痛苦不堪。有沒有可能,你用'git clean'? – 2015-04-13 21:37:06