1.svn简介
1.为什么使用svn
程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。
2.Subversion是什么
它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。
3.svn和git的优缺点对比
1.SVN优缺点
优点:
1、 管理方便,逻辑明确,符合一般人思维习惯。
2、 易于管理,集中式服务器更能保证安全性。
3、 代码一致性非常高。
4、 适合开发人数不多的项目开发。
缺点:
1、 服务器压力太大,数据库容量暴增。
2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。
2.Git优缺点
优点:
1、适合分布式开发,强调个体。
2、公共服务器压力和数据量都不会太大。
3、速度快、灵活。
4、任意两个开发者之间可以很容易的解决冲突。
5、离线工作。
缺点:
1、学习周期相对而言比较长。
2、不符合常规思维。
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
2.SVN服务器搭建
1.下载
首先来下载和搭建SVN服务器,下载地址如下http://subversion.apache.org/packages.html
这里有很多系统版本的svn服务,我们这里选择windows的
个人认为最好用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用. 点开上面的VisualSVN连接,下载VisualSVN server,
2.安装
下载完成后双击安装,点击next下一步,如下
然后默认点下一步就可以了,不用改什么,接着当点击两个next后,你会到这一步,这里我们点击箭头所指的方向。如下图
这里Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾上表示使用安全连接。
点击Next,进入下一步,如下图
这里我们点击【Install】进行安装
点击【Finish】即可完成安装。
安装完成后,启动VisualSVN Server Manager,如图:这里右边提示的第一个VDFS未启动这是因为,这是分布式文件存储系统,是需要企业版才有的功能,下面报错就是因为我们
的服务器未联网,然后导致查不到更新的版本,这两个都不影响。
3.使用
1.建库
2.创建用户
3.创建组
4.权限管理(每个仓库或者下面的目录和文件都可以进行权限控制)
这里我把test1用户加到test1库的读写权限里
5.快捷方式
我们在安装完服务端之后,我们有时会发现桌面上并没有自动生成快捷方式。这个时候我们可以执行下面的操作
6.svn的相关配置
7.通过账号导出库名
在日常工作中我们经常需要导出具体人员所拥有的库权限。我们可以通过下面的方式进行导出。
然后输入下面的命令
Get-SvnAccessRule -AccountName IFLYTEKlli3 > C:UsersAdministratorDesktoplli3
上面IFLYTEKlli3就是你要查询的用户名,后面的地址就是你要把查询结果导出到哪里,我这里是把结果导出到桌面生成blli3文件
8.导出具体库下的人员权限
日常生产中,有时候我们需要导出具体库下哪些人有权限,哪些人没权限。具体方法如下
然后输入下面的命令
Get-SvnAccessRule text1,text2 > c:1.txt 上面的text1,text2就是用户指定的项目,如果有多个项目,可以用逗号隔开,后面的c:1.txt就是你要导出数据的存放盘和文件名称。
4.svn客户端安装
1.下载
首先来下载svn客户端,下载地址如下http://subversion.apache.org/packages.html
上面讲过了VisualSVN server 服务端最好和 TortoiseSVN客户端搭配使用. 因为我上面服务端是在windows上部署的,
所以我们到windows版本里,点开上面的 TortoiseSVN连接,下载 TortoiseSVN
这里我们下载安装包,接下来准备安装
2.安装
直接双击安装包,然后默认下一步就行了
上面点完下一步之后,这个时候我们可以再回到上一步,还是回到这个界面,这里我们可以选择安装路径,之后直接安装就行了
5.svn版本的升级
1.改端口,防止用户写入数据
在哪里改上面讲过了,我们这里看目前svn的端口号是98,这里的2248是svn进程的pid,怎么查我就不讲了,任务管理器里的服务里可以看到
我们这里把改成9804
验证端口是否更改
2.升级
我们这里可以现在老svn里创建测试文件,看升级会影响库里的文件吗
然后直接把新的安装包拷到老服务器上,我们这里是老版本是3.4.2。我们准备升级到3.5.0.(这里注意,就是svn升级如果版本差的不是很大,可以直接升级,但是版本差别较大建议一步步往上升),这里直接点击安装后,出现下面界面,从左边往右顺序看