- 相信很多程序员使用过分布式版本控制系统git,这次来说说集中式版本控制系统svn,跟分布式版本控制系统不同的是
- 集中式版本控制系统旨在用于多个人协同开发一个项目,而且它的版本控制系统都是存放在中央服务器上的
- 如果你需要使用就得从中央服务器上调用,它不像git,每个用户都可以有自己的版本控制系统而且互通
- svn严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无法再使用了
- 详细的我这里就不过多介绍了,可以自己去详细看一下svn与git的区别
- 是否安装
svn --version
- 1.png
- 安装
sudo apt install subversion
- 2.png
- 创建版本库文件夹
mkdir /media/buyan/1/版本库
- 3.png
- 将刚刚创建的目录利用svn命令指定为版本库
svnadmin create /media/buyan/1/版本库
- 4.png
- 设置完成之后在repository下面会生产几个文件夹和文件
- 5.png
- 主要的配置文件在conf文件夹下面:svnserve.conf,passwd,authz
- 修改repository文件夹下面的内容,完善配置
- 首先修改db文件夹的权限,改为777。db文件夹是存储svn文件的地方
sudo chmod -R 777 /media/buyan/1/版本库/db/*
- 其次修改conf文件夹下面的svnserve.conf文件
- 6.png
sudo gedit /media/buyan/1/版本库/conf/svnserve.conf
#匿名用户可读 anon-access = read(可改成none,即不可读) #权限用户可写 auth-access = write #密码文件为passwd password-db = passwd #权限文件为authz authz-db = authz
- 去掉前面的#,并且顶格,不然可能会报错
- 再者修改conf文件夹下面的passwd文件,增加用户和用户密码
格式:用户名=密码(明文)
sudo gedit /media/buyan/1/版本库/conf/passwd
- 最后修改conf文件夹下面的authz文件,增加用户组,目录认证,组权限
sudo gedit /media/buyan/1/版本库/conf/authz
- 如果组内有多个人可以逗号分隔如:组名owner,组员user1,user2则owner=user1,user2
- 对组的访问权限设置rw,r,w。组名前面加@
@owner=rw
- 如果单用户设置则一个用户一行
user1=rw
- 启动svn版本库
svnserve -d -r /media/buyan/1/版本库
- d:表示在后台运行,-r:指定服务器的根目录
- 启动之后可以查看进程
ps -ef|grep svnserve
- 如果需要停止,则
kill -9 pid
- 默认端口3690
【ubuntu svn版本库搭建】
开始
完结