Table of Contents

一、SVN概述

1、为什么需要SVN版本控制软件

2、解决之道

3、什么是SVN

4、获取SVN软件

二、SVN软件安装

1、SVN工作流程

2、服务端的安装过程

三、SVN服务端配置

1、创建一个项目

2、进行服务端监管

3、权限控制

四、SVN客户端软件安装与使用

1、获取软件安装包

2、确认操作系统位数

3、客户端软件安装步骤

4、使用客户端软件连接SVN服务器

五、SVN使用详解(1)-三大指令

六、SVN使用详解(2)-图标集与忽略功能

1、图标集

2、忽略功能

七、SVN使用详解(3)-版本回退

1、什么是版本回退

2、演示SVN版本回退功能

八、SVN使用详解(4)-版本冲突

1、什么是版本冲突

2、模拟版本冲突

3、解决之道

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

1、配置多仓库

2、权限控制

十、SVN服务的配置与管理

1、配置自启动服务

十一、SVN 工作流程


一、SVN概述

1、为什么需要SVN版本控制软件

  • 协作开发
  • 远程开发
  • 版本回退

2、解决之道

SCM : 软件配置管理

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

CVS : 元老级产品

VSS : 入门级产品

ClearCase : IBM公司提供技术支持

SVN : 主流产品 

3、什么是SVN

  • SVN全称SubVersion
  • SVN是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数软件公司都使用SVN作为代码版本管理软件
  • 特点:操作简单,入门容易;;;支持跨平台操作;;;支持版本回退功能

4、获取SVN软件

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

服务端软件:VisualSVN

网址:https://www.visualsvn.com/downloads/

客户端软件:Tortoisesvn

网址:http://tortoisesvn.net/downloads

二、SVN软件安装

1、SVN工作流程

2、服务端的安装过程

根据上方地址,下载完成;

1)第一步,Next 

2)第二步,Next  

3)第三步,Next  

4)第四步,Next  

5)第五步,Next  

三、SVN服务端配置

1、创建一个项目

1)首先在SVN服务端创建一个共有目录WebApp作为项目目录

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

3)创建版本仓库,DOS环境基本语法:

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

如果Shop创建配置成功,那么Shop文件夹显示以下目录结构 

2、进行服务端监管

Apache =>http://localhost 或 (ip地址)访问到htdocs目录下相关文件(监管)

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

基本语法:

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

如下图所示:

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

3、权限控制

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

打开配置文件进行修改:更改第19行代码,去除前面的空格以及 '#'(更改其值为write)

四、SVN客户端软件安装与使用

1、获取软件安装包

网址:http://tortoisesvn.net/downloads

2、确认操作系统位数

   - 64位

3、客户端软件安装步骤

1)双击软件包运行(TortoiseSVN)

一路Next

注:在TortoiseSVN软件安装完毕之后,请一定要重启计算机,否则 SVN 图标是无法显示的!!

如果我们鼠标右键出现如下两个图标,代表我们已经安装成功了!

4、使用客户端软件连接SVN服务器

(Checkout检出)

首先在你的项目目录鼠标右键 => TortoiseSVN =>版本库浏览器 =>输入SVN服务器地址

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

出现.svn隐藏文件夹的话,代表检出成功(没显示的话,可能文件被隐藏,修改为显示隐藏文件,重新进行上面两步操作即可) 

五、SVN使用详解(1)-三大指令

1、回顾SVN三大指令

1)(Checkout)检出操作:①链接到SVN服务器端  ②更新服务端数据到本地

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

2) (commit)提交操作:①提交本地数据到服务器

如果显示以下界面,表示提交成功

以上工作大部分是由项目经理完成的,那么如果公司新来一个程序员(李四),他需要做哪些操作呢?

1)检出操作,效果如下:

2)Commit(提交),效果如下:

以上指令通常是在模块开发完毕之后上传

3)项目经理(Update更新操作)

六、SVN使用详解(2)-图标集与忽略功能

1、图标集

1)常规图标

含义:当客户端文件与服务器端文件完全同步时,系统显示以上图表

2)冲突图标

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

3)删除图标

含义:当服务器数据已经删除,那么客户端该文件显示以上图标

4)增加图标

含义:当我们编写文件已添加到提交队列,那么系统将自动显示以上图标

5)无版本控制图标

含义:当我们编写的文件没有添加到上传队列时,系统将自动提示以上图标

6)修改图标

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

7)只读图标

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

8)锁定图标

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

9)忽略图标

含义:客户端文件已忽略,不需要进行提交上传,那么将自动显示以上图标

2、忽略功能

有些文件不希望上传至svn服务器,应该将该文件或该类型的文件添加至忽略列表

七、SVN使用详解(3)-版本回退

1、什么是版本回退

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

传统形式的存储机制与SVN存储机制的对比

2、演示SVN版本回退功能

1、删除需求文档

2、在项目空白处鼠标右键,采用如下图所示操作

3)根据日志进行回退(3版本是进行删除的操作,我们需要回退到2版本,所以点击2,然后点击OK即可)

4)回退后效果如下

八、SVN使用详解(4)-版本冲突

1、什么是版本冲突

在实际项目开发中,如果两个人同时修改某个文件就会产生版本冲突问题

2、模拟版本冲突

模拟以上过程出现以下错误

3、解决之道

1)合理分配项目开发时间

旺财    上午开发

小强    下午开发

2)合理分配项目开发模块

旺财    购物车模块

小强    文章模块

3)通过SVN解决版本冲突问题

①更新服务器端数据到本地

index.php :  整合后的index.php文件

index.php.mine : 小强修改后的index.php文件

index.php.r6 : 09:00更新时的index.php(起始状态) 

index.php.r7 :旺财修改后的index.php文件

② 删除除index.php以外的其他三个文件

③ 修改整合index.php冲突文件

④ 重新提交数据到 SVN 服务器端,即可解决版本冲突问题

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

1、配置多仓库

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

通过 svnserve 进行仓库监管,但是监管指令只能监管某一个文件夹,而不能同时监管多个仓库。

答:可以通过监管 WebApp 总目录来达到监管所有仓库的目的

svnserve -d(后台运行) -r(监管目录) WebApp(项目总目录)

①打开DOS窗口,输入以下命令 

svn://localhost 或 ip 地址来访问 D:/svn/WebApp 目录

如果需要访问 Shop 项目、Wechat 项目

Shop项目:svn://localhost/Shop

Wechat项目:svn://localhost/Wechat

2、权限控制

如果要使用权限控制有一个前提:必须首先开启权限功能

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

authz 文件:授权文件

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

 

passwd 文件:认证文件

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

 

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

svnserve.conf 配置文件

 

开启步骤如下:

① 注释匿名用户的可读可写权限

② 开启认证文件与授权文件

③ 编写认证文件定义相关用户名与密码

④ 编写授权文件

⑤ 测试

输入:admin     admin888 (超级管理员)即可

十、SVN服务的配置与管理

1、配置自启动服务

不用每次启动都在DOS中启动了

sc create SVNService binpath="C:\Program Files\VisualSVN Server\binsvnserve.exe --service -r D:/svnroot" start=auto

sc create  服务名称 binpath=空格"svnserve.exe-service-r D:/svn/WebApp" start=空格 auto

创建系统服务。服务名SVNService

① 打开运行,输入 cmd 指令,打开 DOS 环境(请使用超级管理员运行)

②输入以下指令

③ 查看系统服务

控制面板 => 管理工具 => 服务

双击运行,启动SVNService服务

十一、SVN 工作流程

1、SVN 工作流程

2、钩子程序

所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化属性的修改

默认情况下,钩子的子目录(版本仓库/hooks/)中包含各种版本库钩子模块

post-commit.tmpl :事务完成后所触发的钩子程序

钩子程序默认情况可以采用批处理指令或 Shell 指令来进行编写

3、通过批处理指令编写钩子程序

① 指令 svn 服务端工作目录

设置服务器端 SVN 路径

SET SVN="C:\Program Files\VisualSVN Server\bin\svn.exe"

② 指定 Web 服务器工作目录

设置服务器项目运行目录

SET DIR="D:\server\apache\htdocs\shop"

③通过 update 指令实时更新数据到 DIR 目录中

SVN update %DIR%

④、具体使用步骤

第一步:复制post-commit.tmpl为 post-commit.bat 文件

第二步:填入相关处理指令

 

略。。。。。。需要再更新

 

 

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐