对于软件的版本控制与管理,一直很重视,这种重视主要体现在对于多人的合作的项目上,但是对于小到一个甚至二个人的项目,觉得没有什么必要,结果昨天的一次小意外,让人有了劫后余生的感觉,看来以后只要有项目,不论多少开发人员,那怕只有一个,也要做好版本的管理。
事情是这样的,二个人合作的一个Java方面的项目,前期用SVN进行版本控制,一直用得很好,到了后期,由于另一名开发人员在忙于别的事情,这个项目就我一人在做,这个状态持续了近一个月,慢慢就懒得向SVN服务器上提交代码了。
昨晚用Eclipse玩一个新东西,在玩的时候,因为误操作一不小心将这个项目给删了,并且删得还比较彻底,这下傻眼了,因为这个项目下周就要交了,自己在测的时候也测的差不多了,小项目没有用测试人员帮忙。
心情一下便沉重起来,静一静后,开始想解决办法:
1. 看用Eclipse提供的功能能不能直接恢复
2. 下硬盘数据恢复软件,尝试恢复
3. 实在不行请专业恢复人员进行恢复。
4. 评估损失,重新写代码
打定好这三个方案,开始按步就班的执行,方案一不行,方案二下了两个软件
一个叫smartundelete.rar,另一个叫datarecovery。分别进行了各种功能上的恢复,竞然发现都不行,不过确找回了从前一些删除的文件。这也算是意外收获吧。
近三个小时的折腾,结论是方案一,方案二失败,方案三估计要等到周一才能实施,因为这是周六,咬咬牙,开始提前执行方案四,评估了一下损失,发现损失比较惨重,基本上核心的代码都没有向SVN传过。
只好无奈了准备重写了,当时也在安慰自己,正好趁重写修改几处设计不合理的地方,也算是有得有失。
不过正当准备用Eclipse重写时,发现有个历史恢复功能,尝试点了一下,没想到恢复了几个Class文件,又点了第二次,恢复了一些.java文件。呵呵,对classf进行了反编译。又重新整合了能收集到的代码。
很luck,近95%的主要功能恢复了。
重写了大概300多条代码,一切Ok了。
然后做的第一件事,提交到SVN。
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92423 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!