2015-05-01 337 views
1

我無意中在我的git bash上做了'rm -rf foldername'。所以我失去了我的整個git倉庫。這些有幾個本地提交沒有推到遙遠的地方。我注意到我可以用數據恢復工具恢復.git文件夾。如果我從遠程克隆回購(它沒有我的本地提交)並用我恢復的.git覆蓋.git,我會回到我的本地提交嗎?恢復丟失的git存儲庫

+2

如果你真的恢復了整個'.git'文件夾,沒有理由要克隆什麼 –

回答

1

如果你有.git目錄本身,你可以直接克隆.git目錄。把.git目錄到一個子目錄,然後克隆該subrepository:就是在git的承諾被存儲在同一目錄

mkdir temporary 
mv .git-recovered temporary/.git 
git clone temporary fixed-repository 

一切,所以只要你有那個(完美無缺),你應該能夠很容易地恢復所有的提交。

編輯:

實際上,你可以簡化過程@chepner的建議。

mkdir fixed 
mv .git-recovered fixed/.git 
cd fixed 
git reset --hard # restores the working directory files 
+0

你甚至不必克隆; 'git clone'實質上是從遠程倉庫複製'.git'。如果你已經擁有'.git'目錄,你只需要簽出一個分支。 – chepner