一、简介
Subversion(SVN)是一个开源的,跨平台的版本控制系统,由CollabNet公司成立于2000年;Subversion作为新一代的版本管理系统,以其目录版本化、原子提交、版本化的元数据、更加有效的分支和标签等特性,至今已被众多的互联网企业使用来管理网站、论坛的代码文件;Subversion最独特的地方,便是可以通过Apache的扩展模块与Apache的HTTP服务相结合,实现更安全的特性与管理,其次用户还可以通过HTTP协议去访问版本库,还可以通过SSL协议传输加密,保证数据的安全性;Subversion是Apache软件基金会的发展的一个项目,并且也是一个丰富的开发人员和用户社区的一部分。
SVN是一款版本控制工具。相对于GitHub而言,SVN在使用上更为简化些。SVN 和GitHub的联系与区别如下:
(1)基本操作大致相同;
(2)SVN没有本地库,GIT有本地库;
(3)SVN提交代码时只需一次提交(远程库),GitHub需要两次提交(本地库一次,远程库一次);
(4)GitHub适用于分布式开发,SVN使用于集中式开发;
(5)就操作难易程度而言,SVN要比GitHub方便得多;就代码管理而言,GitHub更优。
SVN服务端:VisualSVN(VisualSVN下载地址),放中央库用(使用时,程序员右键—>svn checkout,填写远程库的url,填写登录用户名和密码,这些信息需要服务端方提供);
SVN客户端:TortoiseSVN(TortoiseSVN下载地址),程序员操作使用,基于SVN客户端来操作远程库。
SVN服务器结构:
Repository: 库,存代码;
branches:分支;
tags:小版本,如1.1 1.2 1.3…
trunk:大版本,如1.0 2.0 3.0…
users: 用户,分配登录权限;
Groups:组,控制用户权限。
2.1 SVN基本概念
二、SVN安装部署
// 关闭防火墙和selinux
[root@localhost ]# systemctl disable --now firewall.service
[root@localhost ]# getenforce
Disabled
// 安装epel源
[root@localhost ]# yum -y install epel
// 安装svn
[root@localhost ]# yum -y install subversion