2011-05-12 248 views
0

我是新來的git,我已經提交了一些本地回購提交。然後我錯誤地點擊了「拉」而不是「推」。最後我打算清理我的桌面......我刪除了整個目錄(回購克隆)。從服務器克隆repo後,沒有任何提交。恢復已刪除的git存儲庫

你能告訴我是否有可能恢復刪除的回購(變化)?我正在使用Windows 7 + TortoiseGit。

在此先感謝。

回答

1

您是否正在備份本地計算機?如果不是,你什麼時候開始?

以下是底線:如果您在本地回購庫中有未更改的內容,並且您刪除了該回購庫,那麼您的更改曾經在源代碼管理系統中的事實無法爲您提供幫助。

+0

是的,它是本地機器。我試圖用lc-tech filerecovery恢復它。它沒有幫助我。大部分文件已被覆蓋。我相信,有一些Git緩存...... :) 無論如何,我在我的工作回來5個小時。 這就是爲什麼我更喜歡svn ... – Wtq 2011-05-12 20:56:06

+0

@Wtq - 有,但你刪除它。 :) – 2011-05-12 20:57:54

0

您承諾到您的本地存儲庫,而不是服務器。如果您刪除了該存儲庫,則無法從未提交的存儲庫中獲取提交。版本控制只能做這麼多...

1

迴應評論:

我並不感到驚訝,你已經使用SVN(CVS-isch)一直。瞭解提交與提交之間的區別至關重要。在git中,你只能在本地提交併使用推/拉機制來同步彼此分離的不同存儲庫。

git中的提交可以看作是SVN中某種形式的緩存提交,可以將您的更改排隊以便稍後進行同步。實際同步延遲。很多人在工作中仍然有問題,獲得差異


原來的答覆:

版本控制是不是愚蠢治癒;)你能做的唯一一件事就是嘗試恢復從數據通過聘請可以重建已丟失數據的人來實現硬盤驅動器。

+0

我習慣於使用SVN ... – Wtq 2011-05-12 21:07:54

+0

@Wtq:如果你殺了一個SVN回購它完全一樣:) – KingCrunch 2011-05-12 21:09:32

+0

@KingCrunch - 使用SVN我發送改變到遠程服務器,而不是本地硬盤.. 。:) – Wtq 2011-05-12 21:13:42

0

就這樣你知道下一次,你可能想要像git reset --hard @{1}這樣的東西把你的本地存儲庫恢復到意外拔出之前的狀態。