SVN 快速入门

一、SVN 简介

(1) SVN 是 Subversion 的缩写,是一个开源的版本控制系统
(2) SVN 基于 C/S 架构,有一台中央服务器,多台客户端通过网络从中央服务器拉取或提交代码,以此达到多人协作开发
(3) SVN 是集中式的开源版本控制系统,集中式核心在于中央服务器,开发者需要先从服务器上拉取/提交代码,一旦离开了服务器,基本无法工作,这是缺点之一
(4) SVN 客户端需要通过网络从中央服务器拉取或提交代码,特别依赖网络,因此一旦网络出现问题,也就无法拉取或提交代码,这也是缺点之一

二、SVN 服务端安装

[root@localhost ~]$ yum install -y subversion    # 安装SVN
[root@localhost ~]$ mkdir -p /data/svn           # 我们使用/data/svn目录作为版本库,先创建该目录
[root@localhost ~]$ svnadmin create /data/svn    # 创建版本库,使得客户端能够从这里拉取/提交代码
[root@localhost ~]$ ll /data/svn
total 24
drwxr-xr-x 2 root root 4096 Jan 18 22:53 conf          # SVN服务端配置文件目录
drwxr-sr-x 6 root root 4096 Jan 18 22:53 db            # SVN版本数据存储目录
-r--r--r-- 1 root root    2 Jan 18 22:53 format        # 存储一个整数的文件,此整数代表库层次结构版本
drwxr-xr-x 2 root root 4096 Jan 18 22:53 hooks         # 存放版本库钩子的目录
drwxr-xr-x 2 root root 4096 Jan 18 22:53 locks         # 存储库锁目录,用来跟踪库的访问者
-rw-r--r-- 1 root root  229 Jan 18 22:53 README.txt    # 说明文件
[root@localhost ~]$ ll /data/svn/conf
total 12
-rw-r--r-- 1 root root 1080 Jan 18 22:53 authz            # SVN用户权限配置文件
-rw-r--r-- 1 root root  309 Jan 18 22:53 passwd           # 密码文件,用于客户端登录服务端时的用户名密码验证
-rw-r--r-- 1 root root 3090 Jan 18 22:53 svnserve.conf    # SVN版本库的配置文件
[root@localhost ~]$ vim /data/svn/conf/authz    # 用户权限配置文件
[groups]
db = user1, user2     # groups 用于定义用户组,把功能相同的用户分成一个组,以便管理
web = user3, user4

[/data/svn/]    # 定义为哪个目录进行权限分配
user1 = rw      # 可以对单个用户进行权限分配,rw表示可读可写
@web = rw       # 可以对某个组的用户进行权限分配,写法是:@组名
* = r           # 表示对剩下的所有用户进行权限分配

三、Linux 上使用 SVN

四、Windows 上使用 SVN

    

猜你喜欢

转载自www.cnblogs.com/pzk7788/p/10290175.html
svn