svn的安装,应该不是难事,yum即可,这里略过,注意介绍,svn创建版本库,钩子的使用!
1.安装svn服务
# yuminstall subversion
2.新建一个目录用于存储SVN所有文件
# mkdir /home/svn
3.在上面创建的文件夹中为项目 xcf,创建一个版本仓库
# svnadmin create /home/svn/xcf
执行完这一步,/home/svn中将存在xcf文件夹,这个项目的配置都在 /home/svn/xcf/conf 中
4.为项目配置权限
(1)svnserve.conf 是主配置文件
# vi/home/svn/xcf/conf/svnserve.conf
anon-access=none #匿名可读
auth-access=write #验证用户可读写
password-db=passwd #指向验证用户名密码的数据文件 passwd ,请看下文配置
auth-db=authz #指向验证用户的权限配置文件 authz ,请看下文配置
注意:每一行前方不能有空格,否则会出现 Option expected错误!
(2)passwd用户名密码配置文件
# vi/home/svn/xcf/conf/passwd [users]
manager1=123456 #每一行都要是“用户名=密码”的格式
houpeng = 123456
(3)authz用户权限配置文件 ,这里只添加【/】即可
# vi/home/svn/xcf/conf/authz
[groups]
managers=manager1,manager2 #定义群组 managers包含manager1和manager2两个用户
group = houpeng,xcf #如果用组的话
[xcf:/]
@group = rw
houpeng = rw
@managers=rw #定义群组 managers 有读写权限
manager3=r #定义 manager3 有读权限
*= #以上没有定义的用户都没有任何权限
5.启动服务器
#svnserve -d -r /home/svn
开启多个版本库的时候要启动不同的端口 svnserve -d --listen-port 3688 -r /static/
到这里svn版本库算是建好了,下面介绍,导入好检出
将文件导入版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录 是:home/user/svn/xcf/。则应该这样写:file:///home/user/svn/xcf/
例如我把/home/wwwroot/xcf/index.html,作为网站的根目录,将当前目录导入版本库xcf:
svn import . file:///home/svn/xcf -m "导入文件"
从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径] [导出目标路径]
例如将xcf库中的文件导出到当前目录/home/wwwroot/xcf中:
svn co file:///home/svn/xcf .
下面介绍钩子的使用,钩子可以让客户端提交的代码,直接放到根目录下,不用每次将文件手动纳入版本库
1.设置钩子,在/home/svn/xcf/hooks/目录下面,新建一个钩子文件为post-commit,并修改文件的权限#chmod 755 post-commit
vi post-commit
chmod 755 -R post-commit
2.编辑post-commit,把以下代码写入export.UTF-8
#!/bin/sh
export LANG=zh_CN.UTF-8
/usr/bin/svn update --username userxcf --password 123456 /home/wwwroot/xcf
3.对于trunk、branches、tags这三个文件的使用,可以在客户端checkout代码后,新建这三个目录后提交即可!
注意:checkout路径的介绍
svn://123.43.124.241/home/svn/xcf //ip后面要跟svn版本库的目录
大功告成,可以使用了!
动力节点在线课程涵盖零基础入门,高级进阶,在职提升三大主力内容,覆盖Java从入门到就业提升的全体系学习内容。全部Java视频教程免费观看,相关学习资料免费下载!对于火爆技术,每周一定时更新!如果想了解更多相关技术,可以到动力节点在线免费观看SVN服务器搭建视频学习哦!