前言:之前自己写了好几天的代码,一直手懒没往SVN上提交,然后不小心覆盖了本地的代码,几天的代码都不见了,下面就说一下本地被SVN覆盖的代码如何找回来(我使用的是Eclipse)。
一、情景一:
你写的代码还没来得及提交,然后不小心被删除了或是在使用SVN的时候不小心覆盖了本地某一个目录(因为你还没有提交,所以服务器上该目录下还没有你本地的这个文件,所以当你覆盖整个目录的时候,相当于把本地文件删除了)。
总结一下就是:本地的文件不在了,但是SVN服务器上还没有,怎么恢复。
解决办法:
1、首先 右键项目 - Restore from Local History(注意右键点击的是项目)
2、点击进入以后出现的页面中就是我们删除或被覆盖的文件了。(下面都是我删除的文件)
3、接下来可以点击查看文件内容,或者点击Restore恢复文件。
二、情景二:
还有就是你之前在SVN上提交过的代码,然后误操作将其他人提交的代码覆盖到了本地,结果你自己的代码被覆盖掉了。或者说你Eclipse意外关闭了,但是Ctrl-Z恢复不了了,想恢复之前的代码。
总结:也就是说你的文件还存在,但是代码内容被覆盖了或者被修改了,想找在本地曾经出现的历史版本。
解决办法:
1、首先 右键被覆盖的文件 - Team - Show Local History(注意右键点击的是文件,点击项目不会出现此选项的)
2、点击进入以后,会出现你本地的历史版本(更新时间对应的版本),可以双击点击查看。
3、点击以后就会出现你之前的代码,想恢复哪个版本的代码,直接可以copy出去。
三:分享几个Eclipse恢复代码的小功能:(和第二种方法类似)
Eclipse操作 | 说明 |
---|---|
右键 想恢复的文件 → Compare With → LocalHistory | 找到历史文件然后和当前版本的文件比较,如果需要的话自己可以自行进行替换 |
右键 想恢复的文件 → Replace With → LocalHistory | 找到历史文件,然后选中某一历史版本直接将现有文件和历史文件替换 |
右键 想恢复的文件 → Replace With → Previous from Local History | 直接将现有文件和上一版本的文件替换,即恢复到上一版本的文件 |