01
进入正文
首先我们思考下面几个工作中会遇到的问题:
◆ 怎么备份工作文档
◆ 怎么进行工作文档的版本管理
◆ 协同合作模式怎么进行数据的同步
一个互联网公司会有非常多的工作角色,如项目经理、产品经理、开发工程师、设计师、测试工程师等等,每天的工作会产生非常多的代码、文档。
所以我们需要一个管理工具来对文档进行科学备份和版本控制,今天我们要分享的——subversion,简称SVN,就是一个强大的版本控制管理工具。
SVN简介
Subversion,简称SVN,是一个开源的版本控制系统。
在Subversion管理下,文件存放在中心版本库里,这个版本库就像一个普通的文件服务器.
不同的是,它可以记录每一次文件和目录的修改情况,这样就可以通过SVN将数据恢复到以前的版本,并可以查看数据的更改细节。
使用svn,我们一天的工作流程将变成如下几步:
◆ 每个人从SVN服务器下载项目的最新文档(代码)
◆ 进入各自的分支,开始工作
◆ 阶段性工作成果提交
◆ 下班时间到了,合并各自的分支到服务器主分支
安装
下面就带大家在Linux下安装一个属于自己的版本控制管理系统
① yum在线安装subversion,连上Linux系统,输入yum -y install subversion。
当看到如下提示时,表示安装SVN成功了。
② 建立仓库目录,使用svnadmin建立一个版本库,输入如下命令
mkdir -p /var/svn/lemon svnadmin create /var/svn/lemon
③ 版本库目录和文件说明
切换到/var/svn/lemon的目录下,我们可以看到生成了如下的文件
conf:仓库配置文件(用户访问账号、权限等) db:所有版本控制的数据文件的目录
format:文本文件,里面只放了一个整数,表示当前文件库配置的版本号
hooks:hook脚本文件 locks:文件库锁定数据的目录
切换到conf目录下,可以看到三个配置文件
④ 编辑账号密码文件passwd,添加访问用户和对应的密码
输入:vim /var/svn/www/conf/passwd
编辑文件,在[users] 下添加用户名密码对,然后保存退出。
⑤ 编辑权限控制文件authz,划分组、添加用户到组并授权
输入:vim /var/svn/lemon/conf/authz
编辑文件如下,然后保存退出
[groups]下配置的是组 = 组用户1、组用户2的一个列表,表示每个组有哪些用户;
[/]:这里的根目录是指项目根目录,而不是系统根目录。
具体本例是指/var/svn/lemon @g_admin = rw:表示g_admin这个组的权限,其中r表示读,w表示写,即该组拥有项目根目录的读写权限
[/dev] @g_dev = rw 表示g_dev组拥有对根目录下dev目录下文件的读写权限
⑥ 编辑服务配置文件,让用户和策略生效
输入:
vim /var/svn/lemon/conf/svnserve.conf
修改svn仓库配置文件如下
上面的各个配置项说明如下:
[general] anon-access=none#不允许匿名用户访问
auth-access=write#通过验证的用户可以读和写。
passwd.conf中用户password-db=/var/svn/lemon/conf/passwd #
用户保存文件authz-db=/var/svn/lemon/conf/authz #
权限管理文件realm=lemon#认证空间名,版本库所在目录
⑦ 启动svn:svnserve -d -r /var/svn/
测试是否成功:输入svnserve --version 看到如下信息就表示我们的SVN已经正常启动了
⑧ 初始化版本库文件
我们在/home目录下新建一个测试文件,并使用svn inport命令导入初始文件到版本库
⑨ 接下来使用我们的svn客户端TortoiSVN
在win7下下载我们刚创建的版本库 点击鼠标左键,选择SVNcheckout
输入我们的SVN版本库地址:
点击OK,输入我们的用户名和密码
点击OK,我们就可以看到checkout的提示,还有dev下之前建立的文件
本文来源于:柠檬班软件测试
文部分来源网络,如有侵权请第一时间联系删除。