`

SVN版本控制

    博客分类:
  • svn
阅读更多
一、    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版本控制.zip"这个压缩包显然提供了帮助开发者或团队解除项目中SVN版本控制的解决方案。以下是关于SVN以及如何清除版本控制的详细知识: 1. SVN简介:Subversion是一个开源的版本控制系统,它允许用户...

    svn版本控制操作手册

    【SVN 版本控制操作手册】 版本控制是软件开发中的一项关键技术,它允许团队成员协同工作,同时保持代码的历史记录。Subversion(SVN)是一种流行的开源版本控制系统,用于管理文件和目录的变更。本文将指导你如何...

    svn版本控制工具

    svn版本控制工具 windows版本 安装版

    SVN版本控制清除工具

    总之,SVN版本控制系统提供了强大的文件管理和协同功能,而清理.SVN子目录则是为了特定目的,如节省空间或保护隐私。通过编写脚本或使用专用工具,可以轻松实现这一操作。但一定要谨慎,确保在删除前理解其可能带来...

    Eclipse中SVN版本控制插件的安装和使用.doc

    Eclipse 中 SVN 版本控制插件的安装和使用 一、SVN 服务端安装和配置 * 下载 Subversion 服务器软件:可以从官方网站下载最新版本的 svn 服务器软件,例如 svn-1.4.3-setup.exe。 * 安装 Subversion 服务器:直接...

    SVN版本控制工具以及介绍.

    版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中, 确保由不同人所编辑的同一档案都得到更新。 版本控制透过文档控制(documentation control)记录程序各个模组的改 动,并为每次改动编上序号。...

    SVN版本控制器的配置及使用和安装文件

    在这个“SVN版本控制器的配置及使用和安装文件”压缩包中,包含了关于如何配置和使用SVN服务器和客户端的详细资料,以及如何存取和管理数据的方法。 首先,我们需要了解SVN的基本概念。SVN的核心是仓库(Repository...

    SVN版本控制器 + 语言安装包 (Win)

    标题中的"SVN版本控制器 + 语言安装包 (Win)"指的是包含了SVN版本控制器的TortoiseSVN客户端以及语言包,适合在Windows操作系统上使用。TortoiseSVN的版本号为1.11.1,构建号为28492,且是64位版本。语言包则是...

    最新SVN版本控制带汉化

    ** SVN(Subversion)版本控制系统详解 ** SVN,全称Subversion,是一种广泛使用的集中式版本控制系统,它能够管理项目中的源代码、文档等文件的版本,使得多个开发者可以协同工作并跟踪每一次修改,有效地避免了...

    安全删除svn版本控制文件夹

    有svn版本控制的文件,有时候需要修改路径,一层一层的删除文件夹太麻烦,这个小工具,安装之后,右键即可安全删除.svn folder,方便易用。

    SVN版本控制原理SVN版本控制原理

    SVN版本控制原理SVN版本控制原SVN版本控制SVN版本控制原理原理理SVN版本控制原理

    Eclipse下使用SVN版本控制

    Eclipse下使用SVN版本控制 Eclipse下使用SVN版本控制是软件配置管理(SCM)的重要组成部分。SCM是管理源码并保持其安全的良好艺术,它能实现源码与其他团队成员之间保持共享,并且能够对之加以保护。良好地利用SCM...

    VS2017 自动获取SVN版本控制号

    本篇将详细介绍如何在VS2017中配置自动获取SVN版本控制号,以便在每次编译时更新代码中的版本号。 首先,我们需要了解SVN版本号是什么。SVN reversion版本号是Subversion仓库中特定提交的唯一标识,它反映了代码库...

    SVN版本控制工具介绍.pdf

    ### SVN版本控制工具详解 **一、SVN概述** Subversion,简称SVN,是一种集中式的版本控制系统,自2000年初由CollabNet发起并由Karl Fogel和Jim Blandy等人共同设计,旨在克服CVS的缺陷,提供更强大的版本控制功能...

    删除SVN版本控制目录工具

    然而,在某些情况下,用户可能需要从本地系统中彻底删除受SVN版本控制的目录,这通常涉及到移除SVN元数据,而不仅仅是简单的文件删除操作。"删除SVN版本控制目录工具"就是为了解决这个问题而设计的。 这个工具的...

    SVN版本控制系统说明

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

    svn版本控制器

    **svn版本控制器** 在软件开发领域,版本控制是至关重要的,它允许团队协作并跟踪代码的变更历史。Subversion(通常简称为svn)是一个开源的版本控制系统,它为开发者提供了强大的工具来管理他们的源代码和其他文件...

    svn版本控制与分支

    svn 版本控制与分支管理 svn 版本控制系统是一种常用的版本控制系统,它可以帮助开发团队更好地管理代码库。版本控制系统的主要功能是跟踪代码的变化,记录每个版本的修改记录,并提供了多种操作版本的方式,例如...

Global site tag (gtag.js) - Google Analytics