Heim > Fragen und Antworten > Hauptteil
有木有人知道加入.gitignore的文件有什么办法恢复出来不?ignore里删掉了一个文件,但是在实体文件夹里并没有显示出来,而且也清理过缓存了,,,
迷茫2017-05-02 09:52:46
一般加入.gitignore
的文件不会在本地删除,如果你本地没有删掉的话,完全可以找回来的。但是对于楼主的一些描述,我有点儿不太理解,什么叫做:
ignore里删掉了一个文件,但是在实体文件夹里并没有显示出来
你是自己手动将那个文件删掉了吗?如果是这样的话,git的确是找不回来,因为它并不是通过git操作删掉的,git并不对这些负责。你如果要找回来,不能指望git,而是找找其他文件恢复的软件吧,某些软件可以帮助找到误删的文件的。
另外,如果那个文件之前纳入过git管理的话,也是有希望找到的。比如,如果你之前曾今提交过某些文件,后来你又才其加入.gitignore
的话,这样就有办法。你也可以通过切换到之前的提交将它们找回来的。
具体方法就是:
找到 还存在那个文件的那次提交的 哈希值(有点儿拗口,不过能理解就行),可以这样做:
git log
假设那次提交的哈希值为31d3ea7a8,然后切换到那次提交(这是很安全的操作,不要担心):
git checkout 31d3ea7a8
现在你已经暂时穿越到那个时间点了,找到那个文件,拷贝出来就可以了。最后切换回来就可以了,假设你刚刚在master分支的话:
git checkout master