SVN使用教程

教程视频链接:https://www.bilibili.com/video/BV13s411h7QM?from=search&seid=6198324397929397970


目录

一、SVN概述

二、SVN服务端安装

三、SVN服务端配置

四、SVN客户端安装与配置

五、SVN使用详解——三大指令

六、SVN使用详解——图标集与忽略功能

七、SVN使用详解——版本回退

八、SVN使用详解——版本冲突

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

十、SVN服务配置与管理

十一、模拟真实开发环境

十二、svn扩展程序

十三、搭建SVN服务器(附加)


一、SVN概述

1.在软件开发过程中,SVN主要用于解决以下三个问题:

(1)协作开发;

(2)远程开发;

(3)版本回退;

2.解决办法:

(1)SCM:软件配置管理;所谓的软件配置管理实际就是对软件源代码进行控制与管理。

(2)CVS:元老级产品;

(3)VSS:入门级产品;

(4)ClearCase:IBM公司提供技术支持;

(5)SVN:主流产品。。

3.什么是SVN?

(1)SVN全称SubVersion;

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

4.SVN的特点?

(1)操作简单,入门容易;

(2)支持跨平台(Window/Linux/MacOS);

(3)支持版本回退功能(时间机器);

5.获取SVN软件

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

(2)服务端软件:VisualSVN ;    网址:http://www.visualsvn.com/

(3)客户端软件:tortoisesvn  ; 网址:http://tortoisersvn.net/downloads

二、SVN服务端安装

1.SVN工作流程

2.服务端软件安装(VisualSVN)

服务端软件存储于软件/服务器端

(1) 双击后,默认安装该软件;

注意啦,文件夹名称不能有空格,否则下面cmd运行起来也会报错。

三、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仓库)

基本语法:

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

如下图所示:

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

3.权限控制

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

四、SVN客户端安装与配置

1.获取软件安装包;

2.确认操作系统位数;(32位操作系统、64位操作系统)

3.客户端软件安装步骤:

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

(2)同意许可协议,下一步;

(3)选择默认安装即可,下一步;

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

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

(5)安装汉化包

旧版SVN和对应语言包下载地址:https://osdn.net/projects/tortoisesvn/storage/

注意:语言包版本要跟SVN客户端版本一致,否则是无法设置语言的。

双击运行语言包,系统会自动寻找之前TortoiseSVN软件安装目录,并进行自动安装,安装完成后可以进行一下设置:

(6)使用客户端软件连接SVN服务器

(Checkout检出)

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

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

注意:此时要保证cmd窗口svn服务器端是运行着的:

显示隐藏文件

如果出现以上.svn隐藏文件夹,代表检出成功。

五、SVN使用详解——三大指令

1.回顾SVN三大指令

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

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

(2)Commit提交操作:①提交本地数据到服务端;

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

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

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

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

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

六、SVN使用详解——图标集与忽略功能

1.图标集

(1)常规图标

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

(2)冲突图标

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

(3)删除图标

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

(4)增加图标

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

(5)无版本控制图标

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

(6)修改图标

含义:当客户端文件有修改但未提交,那么系统将自动显示以上图标;

(7)只读图标

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

(8)锁定图标

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

(9)忽略图标

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

2.忽略功能

有些文件不希望上传至SVN服务器,应该将该文件或该类ing文件添加到忽略列表;

(1)忽略某个指定的文件

(2)忽略某个(后缀)类型的所有文件

七、SVN使用详解——版本回退

1.什么是版本回退

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

2.版本回退功能

(1)在项目空白处鼠标右键,如下图所示:

根据日志信息选择要回退的状态,效果如下:

八、SVN使用详解——版本冲突

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服务器端,即可解决版本冲突问题

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

1.配置多仓库

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

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

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

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

(1)打开DOS窗口,输入如下指令:

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

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

Shop项目:svn://localhost/Shop

Wechat项目:svn://localhost/Wechat

2.权限控制

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

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

(1)authz文件:授权文件

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

(2)passwd文件:认证文件

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

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

(3)svnserve.conf:配置文件

开启步骤如下:

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

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

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

④编写授权文件

⑤测试

输入admin,admin888超级管理员。

、SVN服务配置与管理

1.配置自启动服务

创建系统服务,服务名 SVNService

sc create SVNService  binpath="D:\subversion\bin\svnserve.exe --service -r D:/svnroot" start= auto

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

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

(2)输入以下指令

(3)查看系统服务

控制面板→管理工具→服务

如果运行成功代表开启SVN监管服务。

2.创建批处理文件

启动服务 net start 服务名称

停止服务 net stop 服务名称

删除服务 sc delete 服务名称

以上功能在实际项目开发中经常使用,所以可以封装为.bat批处理文件,双击bat即可使用,效果如下:

十一、模拟真实开发环境

1.SVN工作流程

2.钩子程序

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

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

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

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

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

(1)指令svn服务端工作目录

设置服务器端SVN路径

SET SVN="D:\svn\bin\svn.exe"

(2)指定web服务器工作目录

设置服务器端项目运行目录

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

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

SVN update %DIR%

4.具体使用步骤

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

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

第三步:在apache目录创建Shop项目并更新SVN服务器端数据到本地;

第四步:更新文件到SVN服务器端,可以在Shop目录实时获取到最新数据;

第五步:可以通过虚拟主机形式直接访问更新文件:

十二、svn扩展程序

1.什么是BAE云引擎

百度应用引擎(BAE)是百度推出的网络应用开发平台。基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务;

开发者可以基于BAE平台进行PHP、Java、Python、Nodejs应用的开发、编译、发布、调试。

2.如何使用BAE云引擎

BAE地址:http://bce.baidu.com/

进入部署列表(BAE管理平台)

(1)添加部署

(2)SVN管理

通过SVN进行检出操作(之后可以向SVN服务器中添加或下载相关数据)

(3)提交服务(Commit)

当我们的BAE服务器有数据的更新时,系统会自动弹出以下提示:

单击快捷发布。

十三、搭建SVN服务器(附加)

1.打开VisualSVN server Manger

可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等。

2.创建版本库

3.导入项目

4.建用户组和用户

5.设置权限

6.检出项目

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

林枫依依

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值