一、svn的简单介绍
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。在交流和体验上,都是一个不错的选择。
二、工作流程
集中式管理的工作流程如下图:
集中式代码管理的核心是
服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:
开始新一天的工作:
1、从服务器下载项目组最新代码。
2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
这就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。
三、在服务器进行简单上传下载操作(基本的配置完成)
1.右击,出现tortoiseSVN,点击,repo-browser,此选项可查看当前服务器上的所有的文件。方便自己的操作。
2.本次是在eclipse上做的基本的操作。所以是关于eclipse的。
3.在eclipse中,选中要上传的项目,点击team,选择的是share project,找到snv的选项。点击下一步,如果以前有资源库的话,就可以使用以前的资源库。如果没有的话,就创建一个新的资源库。之后输入文件夹名字,可以使用项目的名字作为文件夹的名字,也可以自己使用模块名字。下一步准备开始共享项目,点击finish。在次之后进入的是svn的界面,进行snv的操作。
4.点击要操作的文件。但是在上传文件时,需要注意这么两点。
(1).setting、.classpath、.project建议不传,第一次上传的人可以传,后续提交代码的人一定不能上传。
(2)编译后代码的.class不要上传。
需要注意这么两点。之后点击提交就上传成功了。此时再看
repo-browser,出现了自己上传的文件。
5.下载的话,点击import,选择从svn中检出项目。之后按照操作选择出自己要导入的项目。在检出为..这一项操作时,作为新项目检出比较推荐,因为大家在上传时,都没有把配置的文件上传上去,所以建议以新的项目进行导入。最后点finish。并创建一个项目即可。否则的话项目无法运行。因为没有环境配置文件。是一个空心的java图标。需要注意。
6.最后这个项目就下载完成了。
四、文件的修改
1.对想要修改的文件进行操作,之后点击team,然后点击同步资源库。这样就算是连接上了资源库。
2.之后进入到svn页面,进行提交即可。
五、冲突
在使用svn的时候,难免会引起冲突。我们该如何解决呢?
冲突的产生可能是因为两个人进行提交的时候,一前一后导致。与资源库的不一致。导致最后产生冲突。
解决的办法是使用在svn界面点击覆盖更新。之后再将自己需要添加的代码加上去即可。