SVN从安装到使用

1. SVN的简要概述

1.1 什么是SVN

(1) SVN的全称是SubVersion
(2) SVN版本控制软件可以解决协助开发 远程开发和版本回退的三个主要问题
(3) 特点是操作简单,入门容易。支持跨平台操作 支持版本回退功能(业内也叫时间机器)

1.2 为什么使用SVN

(1)协作开发
(2)远程开发
(3)版本回退
(4)总结一点:都是为了工作

2. SVN的获取及安装步骤

2.1 获取SVN软件

(1) 属于C/S结构软件(客服端与服务端)
服务端软件获取地址:http://www.visualsvn.com/

客户端地址:https://tortoisesvn.net/downloads.html
(1) 细说一下这个的下载,因为有涉及到可以汉化
(2) 点击链接到这页面往下滑。
在这里插入图片描述
(3)根据自己的电脑下载即可,接着下滑下载语言包在这里插入图片描述
(4)这里下载语言包,自行选择
在这里插入图片描述

2.2 SVN安装步骤

(1) 安装步骤的话就就不细说了,基本都是默认设置。
(2)说一下语言包的安装
(3)双击下载好的语言包,一直下一步即可。
(4)桌面空地右键看到一个,点击settings
在这里插入图片描述
(5) 选择语言即可
在这里插入图片描述

3. SVN的大致操作流程

3.1 SVN服务端的大致操作流程

(1) 主要三个指令

  1. Checkout(检出):其主要功能是(这个指令一般只在第一次连接服务器的时候使用)
    1.1 建立与服务器的连接
    1.2 更新服务器端的数据到本地
  2. Update(更新):其主要功能是
    2.1 更新数据到本地(当你建立完跟服务器端的连接以后,往后的更新服务器数据到本地都是使用这个指令)
  3. Commit(提交):其主要功能是
    3.1 当你开发完成以后,提交代码到服务器上

(2)SVN服务端配置

  1. 创建一个项目
    1.1 首先在安装好的SVN目录创建一个公有目录WebApp作为项目目录
    1.2 在WebApp目录下创建一个xxxx文件夹,做为xxxx版本仓库(注意这里还没跟svn产生关联,只是个普通文件夹)
    1.3 创建版本仓库:进入cmd输入svnadmin create xxxx(xxxx即你创建的文件夹目录比如:D:\SVN\SvnInstall\WebApp\Shallow),成功之后该文件夹下会多出一些东西

(3)服务端监管

  1. Apache -> http://localhost或ip地址访问到相关目录下相关文件(监管)
  2. Svn -> svn://localhost或ip地址访问到相关数据仓库
  3. 基本语法:svnserve -d -r D:\SVN\SvnInstall\WebApp\Shallow(即之前的路径)通过该指令svn://localhost或ip地址就可以直接指向版本仓库

(4) 权限控制

  1. 默认情况下,svn服务器是不允许匿名用户上传文件到服务端的,所以必须更改项目的相关配置文件
  2. 更改方法:找到你创建的版本仓库,打开conf目录找到svnserve.conf更改如下配置:找到 #anon-access = read 更改为anon-access = write

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

(1) 当你配置完之后,首先在你的项目目录鼠标右键,选择到Tortoisesvn再选择版本库浏览器,最后输入地址,svn://地址(本地可以直接输入localhost, 即svn://localhost)

(2)在弹出来的框里选中文件夹右键,选择检出,然后一路确定就ok。记得如果没看到有个.svn文件那是因为这是个隐藏文件夹,你要把它显示出来即可。

4. SVN使用详解(三大指令)

4.1 三大指令之checkout(检出指令)

(1) 建立服务器连接
(2) 更新服务器端数据到本地
(3) 注意checkout只在第一次与服务端连接时操作一次,之后都是用Update(更新指令)

4.2 三大指令之Commit(提交指令)

(1) 在你检出的文件夹里添加并开发完代码后,在此文件夹空白地方右键选择提交。进入一个框里面记得完善提交的信息

4.3 三大指令之Update(更新指令)

(1) 在你的文件夹下右键选择更新即可更新数据

5. SVN使用详解(图标集)

5.1 查看各种图标集

(1) 图标集(查看图标种类:找到你项目的文件夹,右键选择Tortoisesvn-在选择设置,看到一个框之后选择图标覆盖-图标集)
在这里插入图片描述
(2) 常用图标集介绍

  1. 常规图标:当客户端文件与服务器文件完全同步时
  2. 冲突图标:当客户端提交文件与服务端数据有冲突
  3. 删除图标:当服务端数据删除,客户端就会显示
  4. 增加图标:当我们编写文件已经添加到提交队列
  5. 无版本控制图标:当编写文件没有添加到上传队列
  6. 修改图标:当客户端文件有修改但没有提交
  7. 只读图标:当客户端文件以只读形式存在时
  8. 锁定图标:当服务器数据已锁定时
  9. 忽略图标:客户端文件已经忽略,不需要上传

5.2 忽略功能

(1) 当我们希望有些文件不上传至svn服务器时,应该将该文件或者该文件类型的文件添加到忽略列表
在这里插入图片描述

6. SVN使用详解(版本回退)

6.1 两张图了解版本回退

在这里插入图片描述
在这里插入图片描述

7. SVN使用详解(版本冲突)

7.1 什么是版本冲突

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

7.2 解决版本冲突问题

  1. 错开开发的时间
  2. 开发各自的模块
  3. 通过svn解决版本冲突问题
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    然后进入冲突文件进行更改,再次提交即可

8. 配置多仓库与权限控制

8.1 配置多仓库

  1. 通过监管WebApp总目录来达到监管所有的仓库的目的:svnserve -d -r D:\SVN\SvnInstall\WebApp

  2. 访问的时候同样使用:svn://localhost来访问,但是需要加上要监管的某个仓库的名字,比如:svn://localhost/xxxx(xxxx即为你的仓库名)

8.2 权限控制

  1. 首先开启权限功能(看下面步骤):
  2. 在仓库里找到conf文件夹,里面有三个文件
  3. Authz:授权文件,告诉用户有哪些权限
  4. Passwd:认证文件,标识当前svn系统中某个仓库具有哪些用户以及相应的密码
  5. 默认情况下这两个文件都是关闭的,开启步骤:
  6. 打开仓库里的conf里面的svnserve.conf文件
  7. 注释掉# anon-access = write
  8. password-db = passwd和authz-db = auth删除前面的#和空格
  9. 编写认证文件,定义用户和密码:打开passwd(这个文件也在conf文件夹里)
  10. 编写认证文件定义相关用户名和密码
    在这里插入图片描述
    在这里插入图片描述

9. SVN服务的配置与管理

9.1 配置自动服务

进入cmd输入命令:\

sc create xxxx binpath= “D:\SVN\SvnInstall\bin\svnserve.exe --service -r D:\SVN\SvnInstall\WebApp” start= auto

PS:xxxx为创建的自定义名字,前面路径为安装的svn的bin目录里的sevserve.exe,后面你路径为创建的WebApp总目录。最重要的一点:每个= 号后面有个空格

9.2 进入服务的方法,开启服务

在这里插入图片描述
在这里插入图片描述

9.3 创建批处理文件

  1. Start xxxx服务:新建一个bat文件,里面编译内容为:net start xxxx(xxxx为你创建服务时名的名)
  2. ②Stop xxxx服务:新建一个bat文件,里面编译内容为:net stop xxxx
  3. ③删除xxxx服务也是创建一个bat文件,内容为:sc delete xxxx

10. 钩子程序

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

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

  1. Post-commit.tmpl: 事务完成后所触发的钩子程序
  2. 钩子程序默认情况可以采用批处理指令或Shell指令来进行编写

(3) 通过批处理指令编写钩子程序
3. 指令SVN服务器工作目录
4. 设置服务端svn路径: SET SVN=”D:\SVN\SvnInstall\bin\svn.exe”
5. 指定web服务器工作目录: SET DIR=”D:\Users\SVN_Test\Test06”
6. 通过update指令实时更新数据到DIR目录中: SVN update %DIR%
7.具体操作:

  1. 复制post-commit.tmpl为post-commit.bat文件
  2. 填入相关指令
    在这里插入图片描述
  3. 创建一个新项目并更新svn数据到本地
  4. 然后添加文件更新后,D:\Users\SVN_Test\Test06里里面也会自动更新
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值