2015-09-06 97 views
-1

我現在對git有一個奇怪的經歷,我有一個多周前完成的提交,我將存儲庫存儲在bitbucket中,如果我運行git log命令,我可以看到承諾我做了,但包含在該提交中的實際文件丟失了。這是我第二次體驗它,第一次是當我認爲我無法承擔這些更改並意外丟失時,但現在在檢查我的日誌之後,這兩個提交存在。任何想法爲什麼會發生?文件丟失但存在提交

另請注意,如果我簽出該特定的提交,文件將顯示。但是當我回到我最近的提交時,這些文件已經消失了。我知道還沒有刪除這些。

+1

也許你忘了在提交之前將文件添加到臨時區域? – Martin

+0

我與@Martin一樣,這是非常普遍的 –

+0

我不這麼認爲,如果我簽出特定的提交,文件將顯示。但是當我回到我最近的提交時,這些文件已經消失了。我知道還沒有刪除這些。 – JCS

回答

0

。也許我只需要創建一個遷移再次

您可以在任何時候恢復(如在當前的HEAD)這些文件有:

git checkout <acommit>-- <file_path> 

爲「Find and restore a deleted file in a Git repo」查看更多。

A git log --diff-filter=D --summary幫助查明刪除文件的提交。

+0

在極端*情況下,您也可以使用'git reflog'。 – cyphar

+0

@cyphar是的,當提交丟失。但在這裏,情況並非如此:提交是可見的,並可從HEAD訪問。 – VonC

+0

工作,感謝@ vonC,在發佈這個問題在這裏之前,我已經做了git reflog,並試圖合併提交到我的頭,但回答「已經最新」。順便感謝那個解決方案。 – JCS