一、 SVN介绍
二、 安装SVN服务器
1、下载SVN服务器软件
2、询问是否继续安装
3、下一步
4、确认安装
5、对产品的介绍以及下一步开始安装
6、选择安装路径(任何路径都可以)然后下一步
7、确认程序的名称以及是否将程序创建开始菜单
8、是否创建桌面图标和快捷图标
9、安装的清单以及说明
10、安装过程
11、安装完毕
12、安装结束
13、安装完服务器软件后环境变量已经配置完毕
三、 安装客户端软件
1、 下载SVN客户端软件
2、 双击TortoiseSVN-1.4.1.7992-win32-svn-1.4.2.msi安装
3、 确认安装
4、 确认安装路径
5、 开始安装
6、 安装过程
7、 安装完毕
8、 必须重新启动计算机
9、 安装汉化包
10、在任何一个文件夹上右点单击然后设置里面设置成简体中文
四、SVN服务器端配置
1、安装版本库
第一种方法使用命令行创建版本库
1、首先进入命令行
2、输入命令创建版本库
3、成功创建版本库
第二种方式使用window下鼠标操作
创建为本地使用的版本库
创建成功
2、进入版本库中conf文件夹,配置svnserve.conf文件
打开文件
3、将改动如下设置,将带#号的去掉 #表示注释
anon-access = read/none none 代表客户端登陆时需要密码
auth-access = write
password-db = passwd
realm = My First Repository
4、对password进行设置
添加一个用户名为administrator密码为manager的用户
5、启动SVN服务
-d表示后台模式启动
-r表示指定版本库所在根目录
五、 本地使用客户端向版本库提交数据
1、 首先新建一个文件例如在webroot下创建SVNProject目录
2、 点击SVN检出功能,本机地址可以是127.0.0.1或者为localhost均可
3、 由于服务器已经启动,所以能够将数据提交到版本库中,但是需要用户名和密码
4、 检出已经完成
5、 刷新后目录已经变成SVN版本控制样式
6、 进入SVNProject文件夹新建一个文件,并录入数据保存
7、 右键点击提交,更新版本库中的数据
8、 选中要被提交的文件
9、 再次输入用户名和密码进行验证
10、 提交成功服务器端版本库已经更新完毕
11、 向上一次再进入会发现刚刚的文件也变成了SVN版本控制样式的文件
12、 为了验证服务器端版本库中确实有刚才提交的文件,删除SVNProject文件夹
13、 新建一个文件夹SVNTest右键点击检出,如果是在别的机器上,可以通过IP地址来访问例如svn://192.168.1.100
14、 如图所示,表明我们已经成功的下载到服务器上的资源
15、 下面来测试一下同时有2个客户端能不能互相更新服务器上的资源呢?建立一个文件夹SVNProject重复上面的操作检出服务器的资源。
16、 我们修改SVNProject文件夹中的文本文件,如图所示
17、 点击提交后,选中被提交的文件,输入用户名密码,此时警告的图标就变成成功的图标了
18、 这时打开SVNTest文件夹查看文件内容,并没有变化是因为,客户端没有更新服务器端的资源
19、 右键点击更新功能
20、 更新成功
21、 查看更新的结果
总结:这样可以良好的控制多个客户端同时操作一个工程,节约了大量的时间,作为团队开发这是一种不可缺少的软件,而且目前非常的流行。当然如果在以上任何一个环节关闭了命令行的情况下,服务器就断开了连接,客户端就不能工作了,下面在给大家介绍一种更为完善的是使用方法。
每次开启服务器都要持久的使用命令行,这样有些烦琐,因此我们使用windows下自带的创建服务工具,为版本库创建一个服务,这样每次开机启动这个服务,客户端就可以直接提交,更新数据了。
使用方法
1、 基本配置和前面讲过的内容是一样的,在这里略过。。。
2、 进入命令行创建服务
sc create svnservice binPath= “d:\subversion\svnserve.exe –service –root e:\svn” displayname= subversion depend= Tcpip start= auto
解释一下各种参数
sc:是windows自带的创建服务工具
create:代表创建服务 反之delete代表删除服务
svnservice:表示服务的名字,要记好,以后删除时也要用到
binpath:指定svnserve.exe文件的路径因为服务要从这个工 具去启动版本库
--service:表示来自服务去启动版本库
--root:表示版本库所在跟路径
displayname:在管理工具中服务文件夹下显示服务的名字
depend:服务的模式
start:开机自动启动服务
3、 创建好服务以后第一次启动的时候需要进入管理工具->服务找到我们刚才创建好的服务,然后手动的启动随之以后可以直接访问使用了。
4、 删除服务
在命令行输入:sc delete svnservice(服务的名字)
知识扩展:
1、如果我们要想让一个服务控制多个版本库我们应该如何呢?
也就是说我们不能把版本库直接放在跟路径下,而是在根路径下新建多个文件夹,每个文件夹里面创建版本库,这样可以使得一个服务器下有多个版本工程,可以有效的将所有的项目集中到一起进行团队开发。
2、客户端访问服务器上某个资源时候直接在URL后面指定某个项目名称就可以了
六、 在windows上利用Apache访问SVN
引言:我们以往使用Subversion无论是从命令行启动服务还是创建 服务后自动开启,都是使用的svn:// 协议,只局限于内部网 络之间资源共享,下面将使用http://协议访问apache再访问 版本库。
好处:
1、 你可以在不安装Subversion客户端的情况下,使用浏览器来浏览版本库中的内容。这将使得更大范围的用户可以访问你的数据。
2、 可以支持apache加密验证机制。
3、 Apache是非常的稳定和安全,因此你的版本库自然而然地拥有同样的安全性,包括SSL加密。
4、 可以从公网访问服务器上资源,下载到本地进行操作。
具体操作:
1、 目前windows下的subversion只能跟Apache2.0.x配合,不能用于Apache2.2.x,在这里我们采用Apache_2.0.59版本,可以到www.apache.org下载并且安装
2、 安装Subversion(略)
3、 将Subversion\bin中的mod_dav_svn.so,mod_authz_svn.so文件复制到Apache服务器的modules路径下
4、 将Subversion\bin中的libeay32.dll文件复制到Apche服务器的bin路径下
5、打开Apache配置文件httpd.conf找到以下两行
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
去掉前面的#,然后所有LoadModule的后面添加下面两行
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
6 、然后在最后加上如下代码
具体解释:
<Location /svn/TestSystem> :意味着可以通过像这样的 http:/localhost/svn/TestSystem来访问Subversion版本库
DAV svn :告诉Apache哪个模块负责服务像那样的url--在这里就是Subversion模块
SVNParentPath e:\svn :告诉Subversion在目录e:\svnN下寻找版本库
AuthType Basic :启用基本的验证,比如用户名/密码对
注:必须要创建一个密码验证文件
由于Apache/bin目录已经存在于系统环境变量中所以在任何地方都可以使用htpasswd工具.
htpasswd是创建用户的工具
-c 表示创建
-b 表示密码随用户一起创建
jiedeng 表示用户名
810817 表示密码
然后又追加了一个用户
AuthName "用户验证"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile e:\svn\pas\password
指定用户验证的加密文件路径
AuthzSVNAccessFile D:\svnaccessfile
指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限
Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径
7、重新启动Apache服务器,测试HTTP协议访问版本库
第一种方法:进入DOS系统,例如E盘下
使用svn命令 参数 co请求服务器端资源
第一次输入的密码可以任意,但是接下来的用户名和密码必须输入正确才可以获取资源到本地。
第二种方法:
1、新建一个文件夹名字任意,右键进入检出功能
2、将原来的svn://改为http://,然后输入访问apache的路径和端口,别忘了输入svn虚拟文件夹名称,还要指定访问的资源名称。
3、输入用户名称和密码,然后就可获得服务器资源
8、知识扩展
按照上述的过程设计SVN根路径下有2个项目中用户登陆时使用的帐号和密码都在一个文件中,也就是说能有打开项目1的权限就可以打开项目2,反之也可以,这样应用于团队开发,权限的分配过大了些,现在我们位每一个项目都指定各自独立的帐号和密码组
1、 将 SVN根路径下的PWD文件夹删除
2、 修改Apache的配置文件,稍微有些改动
访问名字改变了 http://localhost/svn/TestSystem
原来的SVNParentPath改为了SVNPath表示单个项目
密码文件放在了版本库中
3、 为第一个项目创建密码文件,创建一个用户
4、 为第二个项目创建密码文件,创建一个用户
5、操作完成,现在2个项目中分别有自己使用的帐号密码文件,缩小的被越权访问的权限。
分享到:
相关推荐
"清除项目SVN版本控制.zip"这个压缩包显然提供了帮助开发者或团队解除项目中SVN版本控制的解决方案。以下是关于SVN以及如何清除版本控制的详细知识: 1. SVN简介:Subversion是一个开源的版本控制系统,它允许用户...
【SVN 版本控制操作手册】 版本控制是软件开发中的一项关键技术,它允许团队成员协同工作,同时保持代码的历史记录。Subversion(SVN)是一种流行的开源版本控制系统,用于管理文件和目录的变更。本文将指导你如何...
svn版本控制工具 windows版本 安装版
总之,SVN版本控制系统提供了强大的文件管理和协同功能,而清理.SVN子目录则是为了特定目的,如节省空间或保护隐私。通过编写脚本或使用专用工具,可以轻松实现这一操作。但一定要谨慎,确保在删除前理解其可能带来...
Eclipse 中 SVN 版本控制插件的安装和使用 一、SVN 服务端安装和配置 * 下载 Subversion 服务器软件:可以从官方网站下载最新版本的 svn 服务器软件,例如 svn-1.4.3-setup.exe。 * 安装 Subversion 服务器:直接...
版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中, 确保由不同人所编辑的同一档案都得到更新。 版本控制透过文档控制(documentation control)记录程序各个模组的改 动,并为每次改动编上序号。...
在这个“SVN版本控制器的配置及使用和安装文件”压缩包中,包含了关于如何配置和使用SVN服务器和客户端的详细资料,以及如何存取和管理数据的方法。 首先,我们需要了解SVN的基本概念。SVN的核心是仓库(Repository...
标题中的"SVN版本控制器 + 语言安装包 (Win)"指的是包含了SVN版本控制器的TortoiseSVN客户端以及语言包,适合在Windows操作系统上使用。TortoiseSVN的版本号为1.11.1,构建号为28492,且是64位版本。语言包则是...
** SVN(Subversion)版本控制系统详解 ** SVN,全称Subversion,是一种广泛使用的集中式版本控制系统,它能够管理项目中的源代码、文档等文件的版本,使得多个开发者可以协同工作并跟踪每一次修改,有效地避免了...
有svn版本控制的文件,有时候需要修改路径,一层一层的删除文件夹太麻烦,这个小工具,安装之后,右键即可安全删除.svn folder,方便易用。
SVN版本控制原理SVN版本控制原SVN版本控制SVN版本控制原理原理理SVN版本控制原理
Eclipse下使用SVN版本控制 Eclipse下使用SVN版本控制是软件配置管理(SCM)的重要组成部分。SCM是管理源码并保持其安全的良好艺术,它能实现源码与其他团队成员之间保持共享,并且能够对之加以保护。良好地利用SCM...
本篇将详细介绍如何在VS2017中配置自动获取SVN版本控制号,以便在每次编译时更新代码中的版本号。 首先,我们需要了解SVN版本号是什么。SVN reversion版本号是Subversion仓库中特定提交的唯一标识,它反映了代码库...
### SVN版本控制工具详解 **一、SVN概述** Subversion,简称SVN,是一种集中式的版本控制系统,自2000年初由CollabNet发起并由Karl Fogel和Jim Blandy等人共同设计,旨在克服CVS的缺陷,提供更强大的版本控制功能...
然而,在某些情况下,用户可能需要从本地系统中彻底删除受SVN版本控制的目录,这通常涉及到移除SVN元数据,而不仅仅是简单的文件删除操作。"删除SVN版本控制目录工具"就是为了解决这个问题而设计的。 这个工具的...
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同...
**svn版本控制器** 在软件开发领域,版本控制是至关重要的,它允许团队协作并跟踪代码的变更历史。Subversion(通常简称为svn)是一个开源的版本控制系统,它为开发者提供了强大的工具来管理他们的源代码和其他文件...
svn 版本控制与分支管理 svn 版本控制系统是一种常用的版本控制系统,它可以帮助开发团队更好地管理代码库。版本控制系统的主要功能是跟踪代码的变化,记录每个版本的修改记录,并提供了多种操作版本的方式,例如...