2013-06-05 131 views
5

我在遠程服務器上寫一個文件README.md並完成的那一個,但我不小心用git push origin master做了力推遠程現在README.md不見了恢復被覆蓋的git通過力推提交失去

有沒有一種方法可以檢索該提交?我寫了一個很長的README.md文件,真的想看看我是否可以恢復:(

我在尋找git fsck,但找不到有關我已經提交的README.md的文件github.com上的遠程服務器

+0

您是否在'github或您自己的服務器上在遠程服務器上寫了一個README.md文件? – pktangyue

+0

@pktangyue它是在github服務器上,它顯示在那裏的提交部分 – Ali

+0

您可以轉到github的索引頁面來檢查是否有任何您丟失提交的信息。 – pktangyue

回答

6

公共活動github上的,你可能會看到這樣的事情:

XXX pushed to master at XX/XXX 
d506bb1 Update README.md. 

這裏d506bb1是你丟失的承諾。

6

如果它存在於某個工作副本中,請轉至該回購併使用git reflog查找包含它的修訂,並使用git checkout轉到該修訂(在任何分支之外)。將文件複製到任意位置

如果服務器是裸露的,它可能仍然是服務器上的一個對象,但沒有類型o f git fetch將複製到任何其他回購,因爲沒有對它的引用。在這種情況下,您需要訪問裸回購以直接運行您的git fsck

+0

我沒有在'git reflog'上運氣,它沒有在我的本地機器上:(,我確實嘗試過'git fsck'我沒有經歷所有這些,但真的有很多:( – Ali

+0

我正在挖掘我的活動頁面並找到文件:D – Ali