下载安装TortoiseSVN
按默认方式进行安装并设置安装路径即可
安装完成之后在桌面右键显示SVN相关功能则安装成功
在eclipse中添加SVN插件
下载eclipse_svn_site-1.8.8,将其中的plugins和features中的jar包分别拷贝到eclipse根目录中对应的文件夹内,重启eclipse即可
在eclipse中使用SVN向代码库上传
在工程上右击->Team->Share Project...->SVN->Next
然后出现如下对话框
资源库位置是代码库的位置,路径是在代码库的计算机中将此代码库的路径Copy下来的
根据要提交的代码库选择路径,然后继续点击Next
项目名称可以用当前项目名称也可以自己改名字
接下来输入注释,也就是此次更新代码的功能,做好注释是程序员必备的技能
然后弹出一个对话框点击“是”就到了下面的界面
有几个以 "."开头的文件我们右击->添加至svn:ignore->确定,然后这些代码就不会被上传到代码库中(第一次提交代码可以上传,但是之后再更新的话一定不能再上传)
接下来在项目上右击->提交...在上面空白处同样可以添加注释,然后点击OK
然后在桌面或者文件夹空白处右键->TortoiseSVN->Repo-browser->输入代码库的路径,用户名和密码,就能在代码库中看到刚才上传的代码
SVN代码库中下载
在eclipse中File->Import->SVN
然后同样输入代码库的路径,选择要导入的项目
如果要导入的项目之前没有上传过.project文件,则需要作为新项目检出,并新建一个项目
若上传过.project文件,那么作为工作空间中的项目检出即可
点击Finish导入项目就完成了
导入项目之后可以看到项目的原名称,版本号,时间和修改人
代码的更新
在已修改的文件右击->Team->与资源库同步
进入一个Team Synchronizi界面,在文件上右击->提交,确定即可
代码的冲突
我们在团体合作开发的时候,如果一个文件同时被多个人修改,然后先后进行提交,则会产生代码同步冲突的问题,类似于数据库提交事务产生的数据冲突
我们知道数据库中解决这个问题的方式就是上锁,悲观锁和乐观锁
悲观所:在一个进程在某条数据进行操作的时候先对此条数据上锁,其他任何进程禁止访问此条数据库,直到操作结束,释放锁,下一个进程先上锁,然后进行修改
乐观锁:在进行数据操作之前记录版本号,然后进行数据库操作,操作结束之后读取版本号,若前后版本号相同,则将此次操作持久进数据库,若前后独到的版本号不同,则放弃此次操作,重新从读取版本号开始直到操作之前读到的版本号和操作之后读到的版本号相同为止
显然,团队合作开发不可能一个人对此文件进行修改的时候另一个人歇着什么也不干,所以我们采用乐观锁的方式解决代码冲突的问题
如果发生了冲突我们就只能把先前做的修改记录到其他地方,然后在文件上右键->覆盖/更新->确定
覆盖更新会把本地的代码重置为代码库中的版本,所以为了自己辛苦写的代码不被覆盖,必须把更改的代码备份到其他地方再更新
再把修改粘贴回来,更新到代码库即可
至此,简单的SVN使用介绍结束