2012-09-07 243 views
3

從Git存儲庫中刪除文件時,我不小心還刪除了未提交更改的文件。意外從Git存儲庫中刪除

恢復刪除導致文件返回時沒有未提交的更改。有沒有辦法找回文件的未提交狀態?

從jmort253以諮詢繼承人的步驟是...

  1. 更改了文件(它以前一直致力於&推動,從而 它在GIT)
  2. 使用SourceTree,意外刪除某些文件包括前面提到的文件在內的 。
  3. 推出原產地
  4. 已經意識到錯誤扭轉了提交(使用SourceTree)。
  5. 文件現在回來,但它丟失了步驟1中所做的更改。

    希望有所幫助。

+0

您應該描述您意外刪除文件的步驟;否則,人們只能猜測你做了什麼,這可能無助於你。使用此[編輯]鏈接更新您的問題。祝你好運! – jmort253

+0

我解決了這個事實,它全部丟失了。上面是重寫產生更好的代碼...去圖。 – manuman

+0

有趣的是我一直在你的鞋子裏。有時候刪除你的代碼確實有很好的結果。 :)很高興爲你解決這個問題! – jmort253

回答

2

總之:沒有。 未定義的文件是(幾乎定義)版本控制系統不知道任何事情的文件,所以版本控制系統將無法再幫助您,就像刪除了磁盤上的隨機文件(例如文件這從來沒有在您的存儲庫的文件層次結構中)。

也就是說,除非您的存儲庫以前的狀態包含stash,其中包含未被更改的更改? (git stash list應該給你一個想法)

如果你不這樣做,你應該找到適合你的操作系統和文件系統的文件恢復方法。

1

你應該嘗試以下展望引用日誌:

git rev-list --all --oneline mylostfile.txt 

與您的實際文件路徑替換mylostfile.txt

如果文件存在於git上,無論是在分支指向的提交內還是丟失的提交內,它都會顯示出來。

這將顯示所有提交散列,其中存在對該文件的更改,因此您可能需要單獨查看它們以查看它們中的一個是否有您想要的文件。

如果它不顯示比git可能不知道那個文件。