svn服务端的安装与使用方式简介(一)

简介: 1.   SVN的安装 第一步: 点击Setup-Subversion-1.6.5.msi  第二步:在F盘根目录下建立文件夹software/SVN 第三步:将SVN安装到F:\software\svn目录下 第四步:设置环境变量(只针对绿色版)  变量名:path  变量值:F:\software\svn\bin 第五步:在系统的命令行执行命令: svn

1.   SVN的安装

第一步: 点击Setup-Subversion-1.6.5.msi 

第二步:在F盘根目录下建立文件夹software/SVN

第三步:将SVN安装到F:\software\svn目录下

第四步:设置环境变量(只针对绿色版)

 变量名:path

 变量值:F:\software\svn\bin

第五步:在系统的命令行执行命令:

svnserve –-version

将显示程序的版本信息

2.   SVN的配置

在F:\software路径下建立一个repository文件夹

在F:\software\repository路径下再建立一个SVN(用来存放数据仓库)和CVS文件夹---如果不用CVS也可以直接使用repository作为根目录存放数据仓库

svnadmin create F:\software\repository\svn\mydb(仓库名称)这时我们会发现在F:\software\repository\svn路径下多了一个名称为mydb的文件夹,双击进去之后会发现有一些文件和文件夹,那么这时就证明我们的数据仓库已经建立好了。

上述这步操作也可用TortoiseSVN的快捷键来完成,即安装TortoiseSVN后,在F:\software\repository\svn路径下鼠标右键选择TortoiseSVN--->create repository here,如果是多仓库模式,需要先自己手动建立不同文件夹作为仓库名称,然后在创建数据仓库。

F:\software\repository\svn\mydb这一路径下的文件及文件夹解析:

db目录:  就是所有版本控制的数据存放文件
hooks目录:  放置hook脚本文件的目录
locks目录:   用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端
conf目录:     是这个仓库的配置文件(仓库的用户访问帐号、权限等)
format文件  是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

启用svn服务的两种方式:

一、命令行启动,我们使用服务器端命令 svnserve

svnserve -d -r F:\software\repository\svn\mydb(单仓库)

启动后查看端口使用情况,根据端口来判断SVN是否启动成功

netstat -an

看到3690端口服务,说明启动成功

二、安装svn后配置windows自动启动服务(多仓库)

在命令行内键入:

sc create SVN-Service binpath= "F:\software\svn\bin\svnserve.exe --service -r F:\software\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

binpath 指定svnserve 的路径和命令

start= auto 表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格

Displayname----服务的显示名称、start= auto ---表示自动启动、depend
在此命令中-r(--root)项目版本仓库的根目录----数据仓库的路径

3.   SVN通过基于服务的方式使用

查看服务是否添加成功,可以选择windows 控制面板--》》管理工具--》》服务 会发现列表中有SVN-service服务

启动服务   net start SVN-Service   也可手动去启动服务

如果要删除服务    sc delete SVN-Service

当我们配置成多仓库的时候,如何访问每一个具体的仓库呢?

svn://127.0.0.1/mydb

如果配置成了单仓库模式那么直接访问:svn://127.0.0.1/即可

4.   当以上完全配置成功以后,就完成了基本的服务端的配置,默认的SVN会配置一个客户端,但是是基于命令行的方式使用

›svn checkout -从版本库取出一个工作拷贝

›svn commit -将改动的文件提交到版本库

›svn update -更新你的工作拷贝

›svn add-向版本库中添加新文件

›svn delete-从版本库中删除文件

›svn revert-取消所有的本地编辑

›svn info-显示本地或远程条目的信息

svn list-列出版本库目录的条目

›svn status-查看当前工作区状态

›svn help-获取帮助信息

5.   Subversion版本控制系统的一个免费开源客户端TortoiseSVN

在F:\software路径下建立一个名称为TortoiseSVN目录,然后将TortoiseSVN安装到这一目录下,然后重启电脑

这个时候就完成了SVN以及其GUI客户端的完全配置。

6.   如何从服务器获取到项目?如何将已有的项目纳入SVN管理?

首先在磁盘中建立一个文件夹作为存放数据的地址,然后鼠标右键选择SVN Checkout

然后在URL of repository:中输入具体的数据仓库的地址:svn://127.0.0.1/mydb,再在Checkout directory中输入要存放数据的地址(刚建立好的)

其它选项不必修改,然后选择OK选项。

这样就完成了从数据仓库中获取数据了。

-------------------------------------------------------------------------

要想将我们自己的项目纳入的SVN管理,我们可以先在服务器端创建一个数据仓库,然后同样在客户端建立一个文件目录,然后选择SVN Checkout

URL of repository 内填写我们新创建好的数据仓库地址,然后选择OK,这个时候我们会发现在Checkout directory指定的路径下会多出一个.svn的文件夹(可能是隐藏
的),这个时候我们可以将我们需要纳入SVN管理的文件或者文件夹拷贝到这一目录下,然后我们会发现这个文件的上面会多一个蓝色问号标识,我们鼠标右击该文件
或文件夹,选择TortoiseSVN选项,我们发现在弹出的菜单中有一个add选项,单击该选项然后再刷新,我们会发现该文件或文件夹上的标识变成了蓝色的加号,我们再次鼠标右击该文件,选择SVN commit即可。

7.   配置SVN使用权限

svnserve.conf    定义所有认证和授权政策
passwd     存放项目成员帐户信息
authz     主要是做复杂的群组权限控制

打开 svnserve.conf文件,配置下属几个参数(原参数都为注释起来的,可以去掉前面的#,但是一定要把空格也去掉)
# anon-access = read
anon-access = none               ------表示 匿名用户没有任何权限

# auth-access = write              
auth-access = write                 ------表示 通过认证的用户具有写的权限

# password-db = passwd
password-db = passwd         ------表示用户名和密码的文件是 passwd 这一文件

# authz-db = authz
authz-db = authz                      ------表示 做SVN用户和用户组的权限控制

打开passwd文件,配置SVN的用户名和密码,通常是以键值对的形式,但是有一点缺陷就是密码为明文。使用apache的方式可避免这一问题。
user1 = password
user2 = password2

打开authz文件
首先配置用户组和用户,用户以逗号隔开
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
usersgroup = user1,user2,user3            ------配置一个用户组,包含3个用户

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

[mydb:/]                                    ------如果只需要对mydb进行管理,此配置即可。

@usersgroup = rw                ------表示usersgroup用户组有读写权限
user4 = r                                 -------如果想对某一用户设置特殊权限或者说是与用户组内不同权限,可以直接对其进行单独配置,也可以重新创建用户组并配置其权限
* = r                                          -------表示除usersgroup以为其他用户只有读的权限,如果要配置其他用户无任何权限,那么将其配置为 空 即可

如果mydb目录下又包含了其他的许多文件,这个时候想对其内文件进行细粒度权限控制,就要增加如下进行配置:
[mydb:/source]
user5 = rw
* = 
    

如果权限保护目录为中文,则必须将authz文件利用ultraedit工具转存为UTF-8 无BOM 格式,否则权限不生效


目录
相关文章
|
3月前
|
存储 网络协议 Ubuntu
如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
如何在Ubuntu安装配置SVN服务端并实现无公网ip访问内网资料库
68 0
|
3月前
|
Apache 项目管理 数据安全/隐私保护
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
【cpolar】TortoiseSVN如何安装并实现公网提交文件到本地SVN服务器
46 0
|
4月前
|
数据建模 Shell 数据安全/隐私保护
Docker下安装SVN
Docker下安装SVN
|
4月前
|
项目管理 开发工具 git
[集中式] SVN的安装与详细使用教程
[集中式] SVN的安装与详细使用教程
115 0
|
4月前
|
存储 安全 开发工具
快速入门安装及使用&git与svn的区别&常用命令
快速入门安装及使用&git与svn的区别&常用命令
104 0
|
8月前
|
Shell 开发工具 git
Git和SVN的区别并在Windows电脑安装Git
Git是目前较先进的分布式版本控制系统,通俗点讲就是一个备份系统,你每次更新并提交代码之后,它会给你提交的代码设置一个版本标记并将每个版本标记的代码都备份在系统上。如果你想要寻找你修改之前的代码,直接进行回滚到你想要的那个版本就可以了。
125 0
|
10月前
|
存储 安全 数据安全/隐私保护
SVN服务器安装路径
SVN服务器安装路径
103 0
|
12月前
|
自然语言处理
SVN合并(Merge)与拉取分支(Branch/tag)操作简介
SVN合并(Merge)与拉取分支(Branch/tag)操作简介
463 0
|
12月前
|
网络协议 Linux 网络安全
SVN CentOS7 下配置svn的安装及基础配置介绍
SVN CentOS7 下配置svn的安装及基础配置介绍
445 0