SVN覆盖本地文件和误删文件的恢复方法

前言:之前自己写了好几天的代码,一直手懒没往SVN上提交,然后不小心覆盖了本地的代码,几天的代码都不见了,下面就说一下本地被SVN覆盖的代码如何找回来(我使用的是Eclipse)。

一、情景一:

你写的代码还没来得及提交,然后不小心被删除了或是在使用SVN的时候不小心覆盖了本地某一个目录(因为你还没有提交,所以服务器上该目录下还没有你本地的这个文件,所以当你覆盖整个目录的时候,相当于把本地文件删除了)。
总结一下就是:本地的文件不在了,但是SVN服务器上还没有,怎么恢复。

解决办法:
1、首先 右键项目 - Restore from Local History(注意右键点击的是项目)
SVN覆盖本地文件和误删文件的恢复方法
2、点击进入以后出现的页面中就是我们删除或被覆盖的文件了。(下面都是我删除的文件)
SVN覆盖本地文件和误删文件的恢复方法
3、接下来可以点击查看文件内容,或者点击Restore恢复文件
SVN覆盖本地文件和误删文件的恢复方法
二、情景二:

还有就是你之前在SVN上提交过的代码,然后误操作将其他人提交的代码覆盖到了本地,结果你自己的代码被覆盖掉了。或者说你Eclipse意外关闭了,但是Ctrl-Z恢复不了了,想恢复之前的代码。
总结:也就是说你的文件还存在,但是代码内容被覆盖了或者被修改了,想找在本地曾经出现的历史版本。

解决办法:
1、首先 右键被覆盖的文件 - Team - Show Local History(注意右键点击的是文件,点击项目不会出现此选项的)
SVN覆盖本地文件和误删文件的恢复方法
2、点击进入以后,会出现你本地的历史版本(更新时间对应的版本),可以双击点击查看。
SVN覆盖本地文件和误删文件的恢复方法
3、点击以后就会出现你之前的代码,想恢复哪个版本的代码,直接可以copy出去。

三:分享几个Eclipse恢复代码的小功能:(和第二种方法类似)

Eclipse操作 说明
右键 想恢复的文件 → Compare With → LocalHistory 找到历史文件然后和当前版本的文件比较,如果需要的话自己可以自行进行替换
右键 想恢复的文件 → Replace With → LocalHistory 找到历史文件,然后选中某一历史版本直接将现有文件和历史文件替换
右键 想恢复的文件 → Replace With → Previous from Local History 直接将现有文件和上一版本的文件替换,即恢复到上一版本的文件

这篇文章主要是记录一下我自己平时出现的一些问题,方便自己回头查看,如果有幸帮助到你,那这会使这件事情变得更有意义,如果有什么问题可以在下面评论,我会第一时间回复的,喜欢的话可以收藏或留个赞支持一下,也可以点击关注,我会一直坚持更新博客,希望大家共同进步,谢谢!