【SVN】SVN版本控制系统

SVN版本控制系统(SubVersion)

一、概述

为什么要使用SVN系统控制软件?

在遇到多版本时如何解决?

SCM:软件配置管理

所谓的软件配置管理实际就是对软件源代码进行控制与管理

1. CVS:元老级产品

2. VSS:入门级产品
3. ClearCase:IBM公司提供技术支持
4. SVN:主流产品

什么是SVN

SVN是近年来鹊起的版本管理工具,是CVS的接班人。目前,绝大多数软件公司都适用SVN作为代码版本管理软件。

​ 特点:

  - 操作简单,入门容易
  - 支持跨平台操作
  - 支持版本回退功能(时间机器)

获取SVN软件

属于C/S结构软件(客户端与服务端)

	- 服务端软件网址 www.visualsvn.com
	- 客户端软件网址 www.tortoisesvn.com [下载网址](http://tortoisesvn.net/downloads)

二、SVN服务端安装

SVN的工作流程

1、Checkout(检出)

2、Update(更新)

3、Commit(提交)

服务器端安装(visualSVN)

1、双击安装

2、下一步

选择带有可视化界面的,第二种情况只有Dos界面

安装模式

3、仓库与端口设置

location字符不要出现空格

配置仓库与端口

SVN服务器项目配置

1、创建一个项目

​ 1. 首先在SVN服务端创建一个公有目录WebApp作为项目目录

  1. 在WebApp目录下创建Shop文件夹,作为Shop(版本仓库)

  2. SVN文件夹下创建WebApp文件夹

  3. WebApp文件夹下创建Shop文件夹

  4. 创建版本仓库,Dos环境基本语法

    svnadmin create Shop 文件夹路径(Shop路径)

  5. 创建成功之后Shop文件目录下的文件结构

    shop文件目录结构

2、进行服务端监管

Apache -> http://loaclhost或(IP地址)访问到hedocs目录下的相关文件(监管)

SVN -> svn://localhost或(IP地址)访问到相关数据仓库(如Shop仓库)

基本语法:

svnserve -d(后台运行) -r(监管目录) 版本仓库路径

如下图所示:

通过以上指令,我们的svn://loaclhost或者IP地址就可以直接指向Shop版本仓库。

3、权限控制

默认情况下,SVN服务器是不允许匿名用户,上传文件到服务端的,所以必须更改项目的相关配置文件。

打开Shop/conf/svnserve.conf文件,修改第19行aanon-access字段的值为write

三、SVN客户端安装

1、获取安装包

客户端有两个版本:32位和64位

2、确认操作系统位数

右击电脑->属性就可以看到如下界面,确定自己的电脑是32位还是64位;

3、安装

  1. 双击安装包(TortoiseSVN)
  2. 同意许可,点击下一步
  1. 选择安装路径
  1. 下一步,install,系统将会自动安装SVN软件,单机Finish即可

注:安装万众城之后,一定要重启计算机,否则SVN图标无法正常出现

  1. 安装成功之后,鼠标右键就会出现如下两个图标,代表我们已经成功安装
  1. 如果需要汉化包,安装完成之后只需要双击汉化包即可。

安装完成之后,在Setting之中选择设置语言即可:

  1. 使用客户端软件连接配置服务器

首先在你的项目目录鼠标右键 --> TortoiseSVN --> 版本库浏览器 --> svn://localhost(输入svn服务器地址)

svn://SVN服务器地址 --> Shop项目(仓库)

打开隐藏功能,显示隐藏文件,就可以看到.svn文件,此时就已经与服务端建立了联系

四、SVN使用详解

Checkout检出操作

  1. 连接到SVN服务器端
  2. 更新服务端数据到本地

注意:Checkout只在第一次链接时操作一次,以后如果进行更新操作使用Update(更新指令)

Commit提交操作

  1. 提交本地数据到服务端

在Dos窗口使用svn -d -r 文件路径,鼠标右击出现上图,点击提交或者更新即可。

出现下图,说明项目上传完毕。

项目成员如何加入项目

  1. 检出

先创建自己的文件夹 --> 在项目目录里边 --> 鼠标右键 --> Tortoise --> 输入URL --> 右键项目 --> 检出即可

  1. 提交

当该项目成员需要上交文件时,执行Commit操作即可。

Update更新操作

用于在别的项目组成员提交了文件或者数据之后更新到本地项目

五、SVN图标详解

图标及含义

img

  1. 常规在这里插入图片描述

当客户端文件与服务器端文件完全同步时,系统显示以上图标。

  1. 冲突在这里插入图片描述

当客户端提交的文件与服务器端数据有冲突时,系统会显示以上图标。

  1. 已删除在这里插入图片描述

当服务端数据已删除,那么客户端该文件将显示以上图标。

  1. 增加在这里插入图片描述

当我们编写文件已添加到提交队列,那么系统将自动显示该图标。

  1. 无版本控制在这里插入图片描述

当我们编写的文件没有添加到队列,那么系统将自动显示以上图标。

  1. 修改在这里插入图片描述

当客户端文件有修改但未提交,此时将自动显示以上图标。

  1. 只读在这里插入图片描述

当客户端文件以只读形式存在时,将自动显示以上图标。

  1. 锁定在这里插入图片描述

当服务端数据已锁定,那么客户端文件将自动显示锁定图标。

  1. 忽略在这里插入图片描述

客户端文件易忽略,不需要进行提交上传,那么将自动显示该图标。

忽略功能

当你不需要将一些文件上传时,右击文件选择Tortoise中的忽略菜单即可忽略。

六、SVN使用详解三

版本回退

什么是版本回退

有些时候,软件的运行可能是开发者或使用者不满意,这时我们需要把当前版本退回到以前的某个版本。

传统的版本功能每一个版本都需要占用一定的内存空间。

v1.0v2.0v3.0总计
100M150M200M450M

但是SVN的存储机制只需要在原来的版本基础上添加即可

v1.0v2.0v3.0总计
100M+50M+50M200M

如何回到某个版本?

在项目文件鼠标右击,选择Tortoise然后选择更新至二级菜单即可进行下一步如何更新的操作。

  • 通过日志的形式
  • 通过版本号的形式

七、版本冲突

  1. 通过安排不同开发时间解决
  2. 通过分配不同项目开发模块
  3. 通过SVN解决版本冲突问题

八、配置多仓库与权限控制

1、配置多仓库

在实际项目开发中,我么可能会同时开发多个项目,那么我们如何进行多项目监管呢?

通过svnserver进项仓库监管,但是监管指令只能监管某一个文件夹,不能同时监管多个仓库。但是可以通过监管总目录达到监管所有仓库的目的。svnserver -d -r 文件路径

Shop项目:svn://loaclhost/Shop

Wechat项目:svn://localhost/Wechat

2、权限控制

如果要使用权限控制功能,必须先开启权限功能。

在每一个仓库中都有一个conf文件夹,里面有三个文件:

authz文件:授权文件

告诉哪些用户具有哪些权限

passwd文件:认证文件

标识当前svn系统中某个仓库具有哪些用户以及 相应的密码

默认情况下,以上两个文件都是禁用的,如需要使用,首先要开启以上两个文件。

在svnserver.conf 配置文件中:

  1. 注释匿名用户的可读写权限# anon-access = write

  2. 开启认证文件与授权选线27行与36行

    27行password-db = passwd

    36行auth-db = authz

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧恩意

如有帮助,感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值