SVN的概述及服务端客户端安装

发布于 2022-05-02  4.94k 次阅读


一,SVN的概述

SVN作为版本控制工具,它是软件开发的时代发展而发展的,最初的存储只需要文件系统,而随着开发效率的提高,开发人员增加协同开发必须要有好的代码存储工具和协同开发工具,这样SVN这个集中式的版本控制工具就诞生了

版本控制工具的功能:

  1. 协同开发:多人可以并行的修改服务器端的同一个文件
  2. 数据备份:如果本地文件发生丢失可以用服务器端文件进行恢复
  3. 增量式的版本管理:服务器端保存每一个版本信息时只保存修改的局部信息,节约服务器端资源
  4. 权限控制:对团队中参与开发的人员进行权限控制
  5. 历史记录:查看修改人,修改时间,修改内容,日志信息,将本地文件恢复到某一个历史状态

SVN就是现在除了Git以外,集中式版本控制工具的代表(SVN全称SubVersion)

SVN的特点:

  • 操作简单,入门容易
  • 支持跨平台(Linux/Windown/MacOS)
  • 支持版本回退
  • 采用CS架构,即服务端最为中央仓库,开发者提高客户端连接服务端操作

SVN的缺点:

  • 服务器压力太大,数据库容量暴增
  • 数据中心化存储,依赖SVN Server有单点故障问题
  • 必须连接在服务器上,否则基本不能工作、提交、对比、还原等
  • 不适合开源开发

 

二,SVN服务器的搭建(Linux)

一,SVN的下载安装

SVN(SubVersion)的官网地址:https://subversion.apache.org

官网上提高的Linux安装方法:

contos安装命令:

yum install -y subversion
yum install -y mod_dav_svn

注:mod_dav_svn是用来整合Apache服务器用的,一般不需要整合,所有也可以不进行安装

测试安装是否成功:查看是否有版本

svn --version

二,创建配置版本库

版本库是存储项目代码的地方,版本库可以保存多个独立的项目,通过在版本库子目录中一个目录代表一个项目

① 创建版本库目录:目录是自定义

mkdir -p /var/svn/repository

② 在版本库目录下创建具体项目目录:例现在创建两个项目oa和erp

mkdir pro_oa
mkdir pro_erp

③ 通过SVN命令指定版本库目录:指定pro_oa

svnadmin create /var/svn/repository/pro_oa

指定版本库后,svn会在目录下创建一系列文件:

三,配置SVN对应的服务监管

  SVN服务需要与具体的资源进行连接,监管需要的资源,它提供SVN协议可以远程访问repository中的资源

监管命令:

svnserve -d(后台运行) -r(监管目录) 版本仓库路径

监管绑定之后可以通过 "svn://IP:port/仓库"去服务项目资源

例:svn服务器监管绑定pro_oa项目仓库

svnserve -d -r /var/svn/repository/pro_oa

四,简单权限控制

默认情况下,SVN服务器是不允许匿名用户上传文件到服务器的,所以必须更改项目的相关配置文件(svnserve.conf)

在配置文件中加入:

anon-access = write

配置后任何用户都具有可读可写权限,这个根据具体情况配置

配置完成之后启动svn:

service svnserve start

三,SVN客户端的安装配置

SVN客户端叫做TortoiseSVN

官网下载地址:https://tortoisesvn.net/downloads.html

下载后:

① 安装TortoiseSVN(点击安装即可!省略)

② 测试是否安装成功

③ 汉化:点击安装汉化包即可

④ 客户端连接SVN服务端(Checkout检出)

首先在你的项目目录鼠标右键 --> TortoiseSVN --> 版本浏览器 -->输入SVN服务器地址

⑤ 看检出是否成功:看是否有.svn文件