2013-02-14 107 views
1

我遇到git問題,我無法檢索被git pull覆蓋的更改。恢復被git pull覆蓋的更改

我已經開始在沒有GitHub存儲庫的情況下開展一個項目的工作,而後來我做了一個項目。我在創建倉庫時分叉了倉庫,其中包括一個README文件。

我在本地添加了我想使用git add推送存儲庫的文件,但後來意識到我應該先從GitHub存儲庫中取出README

後拉,我試圖推動我的變化,但相反得到的消息Everything up-to-date

我使用了ls命令來發現添加了git add的文件已被刪除並被替換爲README.md

這是我執行的命令:
commands

使用git log只是表明通過對README項目工作的其他人作出的提交。我想這是預料之中的,因爲我沒有提交任何提交。

使用git reflog表明我做了一次拉([email protected]{0}),但使用git reset --hard [email protected]{0}似乎沒有做任何事情。我也試圖git reset --hard [email protected]{"20 minutes ago"},但只有警告說日誌只能回到我的第一次拉。

有沒有辦法恢復覆蓋拉的未提交的更改?

編輯

我爲沒做功課道歉,我注意到側欄上的一個問題,這個問題是一個重複:Git pull deleted uncommitted changes

我將要使用丟失 - 找到(cd .git/lost-found/other)嘗試恢復我的更改。

有沒有一個更容易的方法來恢復變化比丟失發現,我想是新的問題。如果沒有,我會用我使用的方法回答自己。

回答

1

正如問題中提到的,我用來恢復我的更改的解決方案是使用git的lost-found。

我用cd .git/lost-found/other/把我自己帶到迷路的地方,找到文件的位置。

我打開目錄中的每個文件以查看它的名稱是什麼,然後將其移動到正確的目錄中並使用正確的名稱。

我用git add添加更改並提交它們,所以現在我不會再丟失它們。