共计 2791 个字符,预计需要花费 7 分钟才能阅读完成。
1 SVN 简介:
Subversion 是一款自由开放的版本控制软件。Subversion 可以管理文件、文件夹以及记录它们的修改状况。Subversion 常用来帮助我们管理软件开发的源代码或是公司手册文档。
Subversion 通过将文档导入至版本库中进行管理,版本库类似于文件服务器,但比文件服务器更强大的是它可以记录你每一次对文件或目录的修改状况,并提供还原数据至老版本的功能。
2 SVN 三种访问模式:
客户端访问服务端时可以通过 svnserve 访问、svnserver+ssh 访问、Apache 间接访问。
1.svnserve 是一个小巧、轻便的服务器程序,通过它客户端可以使用 Subversion 专有的协议进行访问,
其特点是设置简单。
2. 由于 svnserve 本身并不提供加密通讯的功能,所以如果你需要更安全的连接,可以使用 svnserve+ssh
的方式,通过连接 SSH 服务器建立在 SSH 隧道,在通过 SSH 调用 svnserve 程序。
3.Apache 通过 mod_dav_svn 访问版本库,使得客户可以通过访问 Apache 取得版本库资料进行版本控制。
4.svnserver 示例:
安装 Subversion
[root@localhost ~]# yum -y install subversion
创建版本库
[root@localhost ~]# mkdir /var/svn
[root@localhost ~]# svnadmin create /var/svn/project1
导入数据到版本库
[root@localhost ~]# svn import /java file:#/var/svn/project1 -m “Initial DATA”
将 java 目录中的文件导入版本库,使其版本化。- m 后跟说明性字符串,可任意输入
[root@localhost ~]# svn list file:#/var/svn/project1/ #列出版本库中的文件列表
[root@localhost ~]# mkdir /test; cd /test #创建本地拷贝数据目录
将版本库中文件拷贝至本地
[root@localhost ~]# svn checkout file:#/var/svn/project1
在本机保存一份本地拷贝后,以后即就当作普通文件对其进行修改,修改完成后随时可以上传回版本库,更新版本库
[root@localhost ~]# svn commit -m “JAVA”
守护进程启动 svnserve 服务
[root@localhost ~]# svnserve -d
客户端需要指定据对路径访问版本库如 svn:#CentOS.example.com/var/svn/project1
[root@localhost ~]# svnserve -d -r /var/svn/project1
限制仅发布 project1 一个版本库至网络
客户端可以使用相对路径访问版本库如 svn:#centos.example.com/project1
svnserve.conf 中定义的认证与授权策略实现权限控制
[root@localhost ~]# vim /var/svn/project1/conf/svnserve.conf
[general]
# anon-access = read #匿名用户权限为只读, 此处可以设置为 none,read,write
# auth-access = write #经过认证的用户权限为可写
# password-db = passwd #指定用户存放用户名与密码的文件, 该文件位于 conf 目录下名为 passwd
# authzauthz-db = authz #指定基于版本库路径的访问控制(可以对文件或目录设置权限)
# real = My First Repository #设置版本库域,如果两个版本库的认证域相同,他们将使用相同的密码数据
修改 passwd 与 authz 文件:
[root@localhost ~]# vim /var/svn/project1/conf/passwd
[users]
# harry = harryssecret #用户名为 harry 密码为 harryssecret
# sally = sallyssecret #用户名为 sally 密码为 sallyssecret
[root@localhost ~]# cim /var/svn/project1/conf/authz
[groups]
admins = harry,sally #定义组,组成员有 harry 与 sally
[/] #对版本库根路径设置权限,可以设置为你需要控制的路径
@admins = rw #admins 组中的用户用户可读,可写权限
* = r #其他所有人只读,权限可以设置为只读 (‘r’), 读写(‘rw’),无权限(”)
客户端我们使用 Windows 下的 TortoiseSVN 图形工具
安装好后,右键 > SVN 检出 > 版本库 URL:svn:#192.168.1.6/java
填好用户名密码,检出到本地
Ubuntu 14.04 下搭建 SVN 服务器 SVN:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm
CentOS 6.5 部署 Apache+SVN http://www.linuxidc.com/Linux/2013-12/94315.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
CentOS 6.6 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2016-12/137864.htm
CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm
CentOS 7.1 下 SVN 安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm
Subversion (SVN) 的详细介绍:请点这里
Subversion (SVN) 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139195.htm