其它基础 - 恢复误删文件

  • 作者:KK

  • 发表日期:2015.12.27

本章内容教你在不小心删除文件后如何将它恢复出来,其实它中"还原变更"的内容之一,只是我将它与文件的恢复独立出来讲


简单的还原

直接更新就可以重新下载文件,但如果你是通过SVN的删除菜单删除的话,更新是不会重新下载的,因为你操作SVN的删除菜时,SVN客户端对你的理解就是"这个菜单是你点击的,你确认要删掉这个文件",所以尽管更新了,但SVN收到过类似于"你不要这个文件"的消息,于是它当然不给你重新下载了啦,免得你又骂它"明明说了要删除文件,你怎么又给我恢复出来了"

正规方法

当你通过右键的系统删除菜单或者SVN的删除菜单对一个文件删除后,如果想还原它,笨方法就是告诉其他同事你的同事"不好意思我删错文件了,麻烦把你的这份文件传给我吧",但实际上千万别这样做哟,别人会觉得"学了这么多SVN知识你怎么还是这么水啊?自己还原就行啦"

同事都不帮你 唯有自己学一下怎么恢复啦

以下有两种还原方式:

  1. 对空白的地方提交,出现变更文件列表,问你要不要提交这些变更嘛,千万别提交哦!下面就显示你误删的那个文件状态是已删除缺少,你单击选中这个文件,右键弹出菜单选择"还原"那么它就会回到你的目录中咯

  2. 展开TortoiseSVN菜单找到检查修改菜单,它会有一个窗口列表显示有哪些文件发化了变更的,我之前说过,删除也是一种变更,从存在变成了不存在,再右键这个列表里的文件选择还原就行咯

其实以上两个方法的原理都是搞出变更文件列表,再对发生删除变更的文件进行还原

未登记进仓库的文件无法还原

那些你新建后未通过加入菜单向本地仓库进行登记的文件,对于SVN来说它是"我管不了的东西",所以当你不小心删除它之后,弄出文件变更列表时它只会告诉你版本库没发生变化,它只管它的版本库,管不了的东西它才不理你,所以,我之前没怎么说,你现在终于也明白为什么新建的文件对它右键时会有个加入菜单了吧

经验之谈

其实我还真试过将未登记进仓库的文件给删除了,又没办法将它还原,因为我经常习惯性地按Shift+Delete进行彻底删除,我一般是因为误删的

发生这样的情况是因为我的新功能需要新文件,于是我建立了新文件,但这功能又不是一时三刻就能开发完毕的,需要几天或一些周期,于是我暂时没提交它,但又没记得加入版本库,于是错手删除的时候,代码就白写了

听我的,新建的文件,你觉得要点时间写代码,过一段时间才提交的话,赶紧先加入版本库,以便误删时可以进行还原啊