一、简介
1、简介
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
集中式管理的工作流程如下图:
集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。
开始新一天的工作:
1、从服务器下载项目组最新代码。 2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。 3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。
1.2 发展历史
在2000年初,开发人员要写一个CVS的自由软件代替品,它保留CVS的基本思想,但没有它的错误和局限,保留CVS的基本特性但去除CVS的bug和不好的特性。
在2000年2月,他们联系《使用CVS开发开源项目》(Open Source Development with CVS)(Coriolis, 1999)的作者Karl Fogel,并征求了他是否愿意在这个新的项目中担任一个角色。巧合的是,当时Karl已经和他的朋友Jim Blandy讨论了一个关于新的版本控制系统的设计。在1995年,这两人就成立了Cyclic Software,一个提供CVS的商业支持的软件公司。虽然他们经营商业服务,但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim认真思考更好的方法来管理数据,不但确定名字为“Subversion”,而且完成了Subversion档案库的基础设计。
2009年11月,Subversion被Apache Incubator专案所接收。 2010年1月,正式成为Apache软件基金会的一个顶级专案,所以为Apache Subversion 目前Apache Subversion的主席为Greg Stein, 项目领导者Release manager为Wandisco公司。 2017年8月10日,TortoiseSVN 1.9.7正式发布
二、安装SVN服务器 和客户端
https://pan.baidu.com/s/1L0BcOnMXffeCIU5ma9OgoA 文档工具
安装工具及步骤:链接:https://pan.baidu.com/s/15TKOMajdL3MXdhQeH8XkiA 密码:g3zc
三、SVN与eclipse的整合
eclipse安装SVN插件: Help->Elipse Marketplace-->find svn-->Subclipse 4.2.4--->Install
如果window --->Preferences--输入SVN出来这个界面代表成功:
四、项目经理的操作
1、搜索程序 manager, 打开VisualSVN Server Manager
2、创建仓库 repositories 复制仓库地址
3、 创建用户 用户名和密码
4、eclipse里项目右键---》Team ---->share project ->svn--->使用已有资源库--》粘贴仓库地址--》Finsh -->Yes
5、项目右键---》提交---》注释---》Ok
6、SVN资源库 ---》刷新项目
(如果要做员工操作的话继续:项目右键---》断开连接---》删除)
五、员工的操作
1、window-->show View --->搜索SVN资源库---》右键新建--》资源库位置---》添加SVN 资源库---》粘贴经理给的仓库地址
2、仓库地址右键---》检出(check out)-->作为工作空间检出(第二个选项)
3、关联jdk
项目右键 - --.properties--->project Factes-->java (打对勾)(dynamic看情况打对勾) ,--》右侧Runntimes -->勾选tomcat--》ok
六、常见的一些小的问题
- 忘记密码操作:桌面右键 小乌龟---》Setting ---->sava data---->clear all
- 代码发生变化: 项目右键---》team----》提交
- 员工:项目--》team--->更新
- 还原版本:小乌龟---》show log --》版本---》Revert to Version
- 忽略文件:(有的时候上传的时候一般都不会提交这些文件.classpath.project.settings)
- window--->pre-->ignore-->ignore resourse --->add pattren--->输入要忽略的文件