SVN的使用

1. SVN服务端VisualSVN安装

SVN服务端下载链接
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. SVN服务器端配置

(1)创建一个项目

  1. SVN环境(就是安装目录)下创建共有目录作为项目目录
    在这里插入图片描述

在这里插入图片描述

  1. WebApp目录下新建文件夹Shop(理解为一个项目),作为版本仓库
    在这里插入图片描述

  2. 创建版本仓库,DOS环境(win+R+cmd打开dos窗口)下基本语法

    1. svnadmin create 版本仓库绝对路径
    2. 在这里插入图片描述
      在这里插入图片描述
  3. 如果shop版本仓库配置成功,则文件夹会配置一下结构
    在这里插入图片描述

(2)进行服务器端监管

  1. Apache,通过浏览器输入http://localhost或者IP地址访问到htdocs目录下的相关文件
  2. SVN,通过svn://localhost或者IP地址访问到相关数据仓库
  1. 基本语法
    1. svnserve -d -r 输入监管目录 直接指向版本仓库
    2. 光标闪烁表示监管中…此时的svn://localhost或者IP地址就可以指向版本仓库(理解:Shop项目)
      在这里插入图片描述

(3)权限控制

默认情况下,SVN服务器是不允许匿名用户上传文件到服务器端——所以要更改项目的相关配置文件。
在这里插入图片描述
更改代码,让所有用户都具有可读可写权限
在这里插入图片描述

3. SVN客户端的安装与配置

(1)安装客户端SVN

默认安装完成后重启电脑即可
在这里插入图片描述
在这里插入图片描述
双击汉化包完成汉化
在这里插入图片描述

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

  1. Checkout检出
    1. 在项目目录下,鼠标右键操作
    2. 选择TortoiseSVN
    3. 选择版本库浏览器
    4. 输入SVN服务器地址(结果会指向监管的版本仓库Shop)
      在这里插入图片描述
  2. 单击检出功能,系统会自动检出数据到客户端

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

出现 .svn 表示检出成功
在这里插入图片描述
在这里插入图片描述

4. 客户端SVN的相关操作

(1)三大指令

① (Checkout)检出操作

注意:Checkout只在第一次链接操作一次,之后的更新操作使用update指令

  1. 链接到SVN服务器端svnserve -d -r 版本仓库路径
  2. 更新服务器端数据到本地

② (Commit)提交操作

在这里插入图片描述
在这里插入图片描述
3. 有其他用户加入的情况下
- 先导入项目 TortoiseSVN–版本库浏览器–输入SVN服务地址svn://...–右键检出操作
- 其他用户对项目进行修改、开发完成后的提交操作
- 右键选择提交即可

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

  1. 在项目目录下,右键,单击SVN更新即可

(2)图标集与忽略功能

① 图标集(掌握9种)

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

② 忽略功能

提交的时候就不会出现在提交文件列表内

在这里插入图片描述

(3)版本回退

在这里插入图片描述

  • 在空白处点击鼠标右键,采用如下图所示操作
    在这里插入图片描述
  • 选择【日志功能回退】,根据日志信息,选择要回退的状态
    • 选择要回退到的版本
      在这里插入图片描述

(4)版本冲突

概念:同时修改某个文件,就会有冲突

在这里插入图片描述

  • 合理分配修改时间
  • 合理分配负责模块
  • 通过SVN解决版本冲突问题
    • 更新服务器端数据到本地
      在这里插入图片描述
    • 删除除了index.php之外的三个文件
    • 打开index.php文件进行修改整合
    • 重新提交数据到SVN服务器端即可解决版本冲突问题

5. 配置多仓库和权限控制

  1. 在实际项目中,如何进行多项目的监管?
  2. 进行svnserve进行仓库监管,但监管指令只能监管一个文件夹,不能同时监管多个仓库

(1)配置多仓库

直接监管总目录达到监管所有仓库的目的

  • 监管总目录:svnserve -d -r 项目总目录
  • 访问总目录下的xx项目:svn://localhost/xx

(2)权限控制

前提:开启权限功能

  • 默认情况下,以下两个文件都是禁用的,如需使用,要开启权限
    在这里插入图片描述
  • 开启权限步骤
    • 点击打开项目仓库/conf/svnserve.conf文件

    • 注释匿名用户的可读写权限
      在这里插入图片描述

    • 开启认证文件与授权文件
      在这里插入图片描述

    • 编写认证文件passwd,定义相关用户名跟密码
      在这里插入图片描述

    • 编写授权文件authz
      在这里插入图片描述

    • 进行相关配置
      在这里插入图片描述

    • 测试功能
      在这里插入图片描述

6. SVN服务的配置与管理

(1)配置自启动服务

追加项目到Windows的服务中,让项目随着系统的启动而运行;
不需要开启监管指令也可以使用svn功能

注意:出现“拒绝访问”可能是因为没用管理员账号运行

  • 打开doc面板(以管理员身份运行cmd

  • 输入以下指令

    • sc create 自定义新建的服务名称 binpath=空格"svnserve.exe路径 --service -r \"版本仓库WebApp路径\"" start=空格auto
    • 对于svn配置自启动命令,给仓库路径加入双引号包裹

    这里是加入的 \” 因为外层已经有了双引号.

    • 注: 只能用双引号,用单引号包裹,仍然出现同样的错误。
    • 在这里插入图片描述
  • 打开 控制面板--管理工具--服务 查看

    • 启动服务

(2)创建批处理文件处理[服务]

创建bat文件,输入下列内容,双击运行实现效果

  • 启动服务net start 服务名称
  • 停止服务net stop 服务名称
  • 删除服务sc delete 服务名称
    在这里插入图片描述

7. 模拟真实的开发环境

服务器自动更新数据到Web服务器端
钩子程序:同步数据

  • 钩子程序
    • 一些版本库事件触发的程序,比如:新修订版本的创建、未版本化属性的修改
    • 默认情况下,钩子的子目录(版本仓库/hooks/)内包含各种版本的库钩子模板
      在这里插入图片描述

如何通过钩子程序实现数据的同步更新

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

(1)通过批处理指令编写钩子程序

  • ① 指定svn服务端工作目录
    • 设置服务端SVN路径
      • SET SVN = "D:\XXX\bin\svn.exe"
  • ② 指定Web服务器工作目录
    • 数据完成之后想要更新的目录的位置
      • SET DIR = "服务器端项目的运行目录"
  • ③ 通过 update 指令实时更新数据到dir目录下
    • SVN UPDATE %DIR%

(2)具体使用步骤

  1. 复制post-commit.tmplpost-commit.bat文件
    在这里插入图片描述

  2. 在文件内填入相关批处理指令
    在这里插入图片描述
    在这里插入图片描述

8. 问题补充

(1)图标不显示的问题

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值