用过svn来管理项目的时候,我想大家都遇到过各种奇葩的问题。像项目能够update下来,但是commit总是失败,然后报各种各样的错误。总之就是解决的非洲不爽,最要命的是有时候,我们在出错后,改过了,然后试着网上各种方法。突然的自己写了很久的未提交的代码全部不见了,这下是各种急,找各种补救的方法。
本人前几天也遇到了这种问题,就是项目能update下来,但是就是提交不上去,各种报错。哪怕我们只上传一点也报错,在度娘上找了半天。有的说用svn clean 清除下缓存,有的说用
这种方式回退,进行未上传的代码回滚,但是本人试了还是不行,怎么办。写了几天的代码全部消失了(你可能会说就不知道提前拷贝一份吗?我选择沉默),弄了很久,但是凭着一股不甘心的劲头。我最终找到了解决办法,虽然有点笨,但是我感觉这也是特别有效的方法。而且需要花费的时间也不是很多,不废话上图。
找到这个地方然后点击show History
你会在左边看到这些历史记录,这些历史记录并不是你提交的时候的记录,而是每次我们改变我们的代码的时候,svn都会记录一下,那些和svn服务器上不一样的,在什么时候更改的(svn是有服务器概念的,我们写代码的时候需要连接上svn这样才能够记录不懂的自己补脑去)。看到这些记录是不是本兴奋,接着选中你最近什么时候代码还正常的时候点击一下
右边就会出现我们项目的目录,接着
选中没有提交的代码点击回退Revert Selection 奇迹出现了,未提交的代码回归了。是不是很激动
但是接下来依然的你会发现,代码依然的不能够提交,其实代码不能够提交有很多原因:1、我们移动了某个文件夹,或者重命名了某个文件夹后,然后接着做了别的大量的工作,这样很可能导致,当我们提交的时候,报错,系统找不到更改记录。解决办法是在进行重命名和移动文件后,最好上传一下,不然你提交失败了几乎很难成功,哪怕你改变冲突文件,那也要花费很长时间 。2、就是我们不小心把idea自动生成的代码或者文件给删除了,这种情况下也是不能提交的。
自己写的代码回归了,接下来。我就就从svn中重新的从分支上再迁出一个项目,然后,对照着目录,把我们未提交的代码负责到新的迁出项目即可。
完成后点击提交OK成功了。
使用svn来管理项目,有每次提交新代码的时候备份一份的习惯最好,不过有点麻烦。还有就是不要提交不成功后,进行各种更改后,疯狂的提交。那样如果你要把SVN里面的代码冲了,那我只能呵呵了。你的老板也会对你呵呵的。
以上就是本人的一些经验,虽然有点笨,但是我感觉是最有效的了。比网上那种各种回退,各种回滚的方法要好多了,以免点错了。啥都没了,那就尴尬了。
那写的不好不要喷,你当没看见即可,感觉好的可以收藏下,也可以提提意见多交流交流。