一、SVN简介
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
https://www.runoob.com/svn/svn-intro.html
1、安装svn
yum install subversion
安装完成后输入svn --version
可查看版本
二、启动SVN
先用mkdir命令创建文件夹 确定你要把数据存放在哪个目录下
mkdir /opt/svn
利用svn命令创建版本库
svnadmin create /opt/svn/runoob
使用命令svnserve启动服务
svnserve -d -r 目录 --listen-port 端口号
linux下停止svn服务
killall svnserve
我们直接用多库
svnserve -d -r /opt/svn --listen-port 端口号
这种情况,一个svnserve可以为多个版本库工作
authz配置文件中对版本库权限的配置应这样写:
[groups]
g_a = u1,u2 #这里我用g_代表组,g_a代表a组 g_b代表b组
g_b = u3
[runoob:/] #版本库名称:/
/**注释:runoob是你用svnadmin create命令创建的版本库名字**/
g_a = rw #注意空格,开头不能有空格等号两边有空格;a组有读写权限
g_b = r #组b只有读取权限
* = r #所有人都有读权限
具体参考上方菜鸟教程的连接
三、SVN配置权限认证
进入 /opt/svn/runoob/conf 目录,修改默认配置文件配置,包括 svnserve.conf、passwd、authz 配置相关用户和权限。
1、svn 服务配置文件 svnserve.conf
把上面那些在配置文件里面取消注释 前面开头不能有空格就行了
我的配置如下:
2、用户名口令文件 passwd
[users] 配置段的配置行格式如下:
<用户名> = <口令>
3、权限配置文件authz(我们直接按照多库方式来写)
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
四、最后检出试试是否正常
svn checkout svn://192.168.136.132:7788/runoob --username=u1
上面这条命令会回显 “取出版本 0。”就说明我们部署成功了。
接下来就是客户端的操作了
从服务器拉取文件到本地
输入u1的账号密码
正常检出到本地
我们试试没有根目录权限的u3用户能不能上传文件到服务器
上传不了权限配置无问题。
win下的免费svn客户端TortoiseSVN 使用教程请直接参考B站上的TortoiseSVN快速上手视频
https://www.bilibili.com/video/BV1k4411m7mP/?p=3&spm_id_from=pageDriver&vd_source=e09843c6c94f46d13baa857f8339ebc1
svn客户端及中文包下载地址:
https://tortoisesvn.net/downloads.html
网盘下载地址:
链接:https://pan.baidu.com/s/1lDEKoec32Jhens7yO8-hcA?pwd=tgmo
提取码:tgmo