开发者社区> 技术小甜> 正文

SVN服务器搭建详解

简介:
+关注继续查看

1 SVN简介:


Subversion是一款自由开放的版本控制软件。Subversion可以管理文件、文件夹以及记录它们的修改状

况。Subversion常用来帮助我们管理软件开发的源代码或是公司手册文档。

Subversion通过将文档导入至版本库中进行管理,版本库类似于文件服务器,但比文件服务器更强大的

是它可以记录你每一次对文件或目录的修改状况,并提供还原数据至老版本的功能。


2 SVN三种访问模式:


客户端访问服务端时可以通过svnserve访问、svnserver+ssh访问、Apache间接访问。


1.svnserve是一个小巧、轻便的服务器程序,通过它客户端可以使用Subversion专有的协议进行访问,

其特点是设置简单。


2.由于svnserve本身并不提供加密通讯的功能,所以如果你需要更安全的连接,可以使用svnserve+ssh

的方式,通过连接SSH服务器建立在SSH隧道,在通过SSH调用svnserve程序。


3.Apache通过mod_dav_svn访问版本库,使得客户可以通过访问Apache取得版本库资料进行版本控制。


3 svnserver 示例:

安装Subversion
    [root@localhost ~]# yum -y install subversion

创建版本库
     [root@localhost ~]# mkdir /var/svn

     [root@localhost ~]# svnadmin create /var/svn/project1
导入数据到版本库
     [root@localhost ~]# svn import /java  file:#/var/svn/project1 -m "Initial DATA"
      将java目录中的文件导入版本库,使其版本化。-m后跟说明性字符串,可任意输入

    [root@localhost ~]# svn list file:#/var/svn/project1/   #列出版本库中的文件列表

    [root@localhost ~]# mkdir /test; cd  /test          #创建本地拷贝数据目录

将版本库中文件拷贝至本地

    [root@localhost ~]# svn checkout file:#/var/svn/project1 

在本机保存一份本地拷贝后,以后即就当作普通文件对其进行修改,修改完成后随时可以上传回版本库,更新版本库  

    [root@localhost ~]# svn commit -m "JAVA"

守护进程启动svnserve服务    

    [root@localhost ~]# svnserve -d

客户端需要指定据对路径访问版本库如svn:#centos.example.com/var/svn/project1

    [root@localhost ~]# svnserve -d -r /var/svn/project1      

限制仅发布project1一个版本库至网络
     客户端可以使用相对路径访问版本库如svn:#centos.example.com/project1


svnserve.conf中定义的认证与授权策略实现权限控制
[root@localhost ~]# vim /var/svn/project1/conf/svnserve.conf

[general] 

# anon-access = read       #匿名用户权限为只读,此处可以设置为none,read,write 

# auth-access = write      #经过认证的用户权限为可写 

# password-db = passwd     #指定用户存放用户名与密码的文件,该文件位于conf目录下名为passwd 

# authzauthz-db = authz   #指定基于版本库路径的访问控制(可以对文件或目录设置权限) 

# real = My First Repository  #设置版本库域,如果两个版本库的认证域相同,他们将使用相同的密码数据 


修改passwd与authz文件:

[root@localhost ~]# vim /var/svn/project1/conf/passwd

[users] 

# harry = harryssecret      #用户名为harry密码为harryssecret 

# sally = sallyssecret      #用户名为sally密码为sallyssecret 

[root@localhost ~]# cim /var/svn/project1/conf/authz

[groups] 

admins = harry,sally        #定义组,组成员有harry与sally 

[/]                   #对版本库根路径设置权限,可以设置为你需要控制的路径 

@admins = rw             #admins组中的用户用户可读,可写权限 

* = r                 #其他所有人只读,权限可以设置为只读('r'),读写('rw'),无权限('')

客户端我们使用Windows下的TortoiseSVN图形工具

安装好后,右键 > SVN 检出 > 版本库URL:svn:#192.168.1.6/java 

填好用户名密码,检出到本地 











本文转自super李导51CTO博客,原文链接:http://blog.51cto.com/superleedo/1888804 ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
svn服务器配置以及自动同步到web服务器
感觉再不用svn就真的老了。 安装 yum install subversion 新建repo mkdir -p /opt/svn/myrepo svnadmin create /opt/svn/myrepo 修改repo的配置文件 vim /opt/svn/myrepo/conf/svnserve.
886 0
阿里云服务器搭建SVN仓库管理项目
最近由于个人学习(新手)需要,方便个人项目管理,想利用自己现有的阿里云服务器对项目进行管理,首先根据自己的需要,先使用svn作为目前暂时的管理方法(相对比较简单)。个人电脑是win10 64位系统,服务器是阿里云CentOS 7.3 64位。
5423 0
dyli版SVN服务器的配置与使用
  1、环境   vmware fedora10   2、操作步骤     2.1 取上面两个包,解压      注意!这两个包的名字需要对应。不然容易出现莫名的错误。
1295 0
SVN服务器从Windows迁移到LInux
一、备份VisualSVN项目 1. 现在要使用Linux作为svn服务器,之前是在windows Server 2008上的,用的是VisualSVN, 如下图所示。 2. 现在svn中有一个项目fpp,需要将fpp这个项目导出到linux环境下。
1427 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25155 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18831 0
+关注
10145
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载