阿里云搭建SVN服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36274515/article/details/83375572

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。

这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

本教程采用独立服务器的方式安装

 1、准备阿里云ESC服务器

PS:下载阿里云SVN版本控制镜像,可以直接使用,不做介绍

给你的阿里云服务器设置安全组,允许全部接口访问外网(担心安全可言更具需要配置)

2、环境

  • Ubuntu 16.04

3、安装SVN

apt install subversion 
# 安装后查看版本
svnserve --version

4、创建SVN版本库

创建目录

mkdir /var/svn # 这个文件夹可以换成别的

创建版本库

cd /var/svn
svnadmin create /var/svn/svnrepos
cd svnrepos  # 自动生成的版本库文件:
conf  db  format  hooks  locks  README.txt

subversion目录说明

db目录:就是所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录。

locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

5、进入conf目录(该svn版本库配置文件)

cd conf/
authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

设置帐号密码

vim passwd

# 在[users]块中添加用户和密码,格式:帐号=密码,如suzhan=redhat

# 实例

[users]
admin=admin123 # 建立账户admin,密码admin123
root=123456 # 建立用户root,密码123456

设置权限

vim authz

# 末尾添加如下内容

[/]

admin=rw # 给admin赋予权限(r:读,w:写)
root=rw


# 也可以使用下面的方法

usr=admin,root # 设置一个usr组,其中用户用逗号分开
[/]
@usr=rw # 给这个组内所有用户设置读写权限


# 无权限设置
# *= 
# 或
# @usr=
# 等于后面为空

修改svnserve.conf文件

vi svnserve.conf

# 找到文件中这几句的注释,删掉‘#’号

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

6、启动关闭

# 启动svn版本库

svnserve -d -r /var/svn/svnrepos

# 停止SVN命令

killall svnserve

检查是否启动

ps -ef |grep svn

7、测试

使用TortoiseSVN客户端,可以去这里 下载:tortoisesvn.net/downloads.html, 根据从SVN服务器下载项目自己的实际情况下载对应版本。

在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN。(比如桌面右键)

 然后,通过从SVN服务端获取的资源库URL+具体的项目文件夹名下载相应项目,并可以知道下载项目的保存位置。

使用方法:svn://+ip ip为你的服务器公网ip

对项目的修改与提交

1:把项目下载到本机后,其实就是一个普通的项目文件而已,你可以在里面添加文件、修改文件、删除文件等等。

2:提交修改 在项目文件空白处右键,选择 SVN提交 。

然后,输入 本次提交的版本更新信息(所作修改的注释)、勾选要提交的操作内容,点击 确定,即可把本机项目提交到SVN服务器资源库,覆盖掉资源库项目从而实现更新。

如果发生提交冲突,即两人都提交修改,后提交者由于版本落后会提交失败。这时可以先把自己的项目备份,然后从服务端下载最新的项目,再把自己的项目覆盖到本地项目文件夹,最后SVN提交即可成功提交。

我刚刚删掉了一个文件,这里就会显示:

3:获取更新

如果别人修改了SVN服务端资源库上的项目,你想下载最新的项目,则在 本机项目文件空白处单击鼠标右键,选择 SVN更新 ,即可自动完成下载,并会提示所作的更新有哪些。

注意:在原项目文件夹内选择SVN更新的话,会自动覆盖掉原有内容。建议:先备份,再更新,防止自己本来的项目内容丢失。

4.svn提供历史还原功能

首先打开一个文件夹,右键检出数据,

然后删掉数据。

 

这是如果不点提交的话,可以直接点鼠标右键还原即可。

 

这是点击svn还原是没有用的。 

 

这时需要查看日志,看看是删掉了什么东西。 

 

然后把删掉的文件保存版本到删掉的位置,

 打开原文件夹

 然后在点击提交,系统库里的数据就和这个文件同步了。

参考文章:

猜你喜欢

转载自blog.csdn.net/qq_36274515/article/details/83375572