zoukankan      html  css  js  c++  java
  • 集中式版本控制系统svn的安装,升级及使用

    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升级如果版本差的不是很大,可以直接升级,但是版本差别较大建议一步步往上升),这里直接点击安装后,出现下面界面,从左边往右顺序看

     

     3.验证

     4.把端口改回来

  • 相关阅读:
    day7 面向对象 静态方法 类方法 属性方法 类的特殊成员方法 元类 反射 异常处理
    day6 面向对象 封装 继承 多态 类与实例在内存中的关系 经典类和新式类
    day5 time datetime random os sys shutil json pickle shelve xml configparser hashlib subprocess logging re正则 python计算器
    kafka常用操作命令
    linux基础
    django学习1——初识web应用程序
    mysql数据库(三)——pymysql模块
    mysql数据库(二)——表的查询
    mysql数据库(一)
    Python常用模块——re模块
  • 原文地址:https://www.cnblogs.com/qingbaizhinian/p/13181163.html
Copyright © 2011-2022 走看看