2016-02-03 75 views
3

我曾在幾個文件中的變化和一些新的文件如何恢復我的git的藏匿git的藏匿處彈出後成功

git pull:說我曾在幾個文件衝突

我所做的:

git stash 
git pull 
git stash pop 

我預料會發生衝突,但沒有。

相反,許多文件現在只是空的。 當前未提交的更改顯示從這些文件中刪除的所有內容。

我看到的解決方案是:克隆存儲庫。 「以某種方式恢復」我最後一次彈出的存儲並將其保存爲補丁並應用於此。

如何恢復這個(這是不是在藏匿列表了)

我不使用不看到最後藏匿:

gitk --all $(git fsck --no-reflog | awk '/dangling commit/ {print $3}') 

git fsck --no-reflog | awk '/dangling commit/ {print $3}' 

得到:

error: object file .git/objects/02/7745a5151a6237eb1dcd8e4f0df10328809669 is empty 
error: object file .git/objects/02/7745a5151a6237eb1dcd8e4f0df10328809669 is empty 
fatal: loose object 027745a5151a6237eb1dcd8e4f0df10328809669 (stored in .git/objects/02/7745a5151a6237eb1dcd8e4f0df10328809669) is corrupt 

我該怎麼做做?發生了什麼?

+0

我不認爲這與'git stash'有關,fsck表示你的版本庫已損壞。 'git stash pop'沒有那樣做。你的電腦崩潰了嗎? – Schwern

+0

沒有我的電腦沒有崩潰。 雖然可能是磁盤損壞問題。 現在我該做什麼? –

+0

現在你看看修復損壞的存儲庫。這是關於這個問題的一個問題。 http://stackoverflow.com/questions/8271263/repair-corrupted-git-repository – Schwern

回答

-1

您是否嘗試過使用:

git stash list 

你應該有你已經完成了藏匿的列表。然後,你可以選擇要應用的一個:

git stash apply [email protected]{1} 

之前應用藏匿我想你想對同一位置的頭部,你遇到的第一個混帳拉之前。

+0

與'git stash apply'不同的是,如果'git stash pop'成功,它將從存儲中刪除條目。它不會在列表中。 – Schwern

+0

是的。它被成功應用。不在那裏了 –