搜尋

首頁  >  問答  >  主體

加入.gitignore的文件有什麼辦法恢復出來不?

有木有人知道加入.gitignore的檔案有什麼辦法恢復出來不? ignore裡刪掉了一個文件,但是在實體資料夾裡並沒有顯示出來,而且也清理過快取了,,,

伊谢尔伦伊谢尔伦2802 天前981

全部回覆(3)我來回復

  • 迷茫

    迷茫2017-05-02 09:52:46

    一般加入.gitignore的檔案不會在本地刪除,如果你本地沒有刪除的話,完全可以找回來的。但對於樓主的一些描述,我有點不太理解,什麼叫做:

    ignore裡刪除了一個文件,但是在實體資料夾裡並沒有顯示出來

    你是自己手動將那個檔案刪掉了嗎?如果是這樣的話,git的確是找不回來,因為它並不是透過git操作刪除的,git並不對這些負責。你如果要找回來,不能指望git,而是找找其他檔案恢復的軟體吧,某些軟體可以幫助找到誤刪的檔案的。

    另外,如果那個文件之前有納入git管理的話,也是有希望找到的。例如,如果你之前曾今提交過某些文件,後來你又才其加入.gitignore的話,這樣就有辦法。你也可以透過切換到先前的提交將它們找回來的。
    具體方法就是:

    • 找到 還存在那個文件的那次提交的 哈希值(有點兒拗口,不過能理解就行),可以這樣做:

    git log
    • 假設那次提交的雜湊值為31d3ea7a8,然後切換到那次提交(這是很安全的操作,不要擔心):

    git checkout 31d3ea7a8
    • 現在你已經暫時穿越到那個時間點了,找到那個文件,拷貝出來就可以了。最後切換回來就可以了,假設你剛剛在master分支的話:

    git checkout master

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:52:46

    先把那份檔案從ignore檔案中移除,然後git checkout 之前存在有該檔案的commit。然後進行恢復等操作

    回覆
    0
  • 黄舟

    黄舟2017-05-02 09:52:46

    可以去你的Git倉庫看看啊。

    回覆
    0
  • 取消回覆