栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

(二)SVN使用详解

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(二)SVN使用详解

回顾

1、回顾SVN三大指令
1》(Checkout)检出操作:①链接到SVN服务器端 ②更新服务端数据到本地。
注意:Checkout 只在第一次链接时操作一次,以后如果进行更新操作请使用Update(更新指令)
2》(Commit)提交操作:①提交本地数据到服务端。

 

 

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

1. 检出,完成之后就会把svn服务器上的文件同步至本地:

 2. commit提交

 update更新:会将最新的修改数据更新到本地

一. 图标集

1. 常规图标:当客户端文件与服务器端文件完全同步时,系统显示以下图标

2. 冲突图标:当客户端提交的文件与服务器端数据有冲突,系统会显示以下图标

3. 删除图标:当服务端数据已删除,那么客户端该文件将显示以下图标

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

 5. 无版本控制图标:当我们编写的文件没有添加到上传队列时,系统将自动提示以下图标

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

 7. 只读图标:当客户端文件以只读形式存在时,将自动显示以下图标

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

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

 二. 忽略功能

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

 1. 忽略某个指定的文件

 2. 忽略某类型文件

 三. 版本回退
什么是版本回退

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

  1. 在项目空白处鼠标右键
  2.  根据日志返回进行版本回退

    根据日志信息选择要回退的状态
 四. 版本冲突

版本冲突提示:

 解决:

1》. 合理分配项目开发时间

2》. 合理分配项目开发模块

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

  1. 更新服务器端数据到本地,更新完成之后会出现四个文件:
  2.  删除除index.php以外的其他三个文件
  3. 打开index.php,修改整合index.php冲突文件
  4. 重新提交数据到SVN服务器端,即可解决版本冲突问题
 五. 配置多仓库与权限控制 配置多仓库

在实际项目开发中,我们可能会同时开发多个项目,那么我们如何进行多项目监管呢?
通过svnserve进行仓库监管,但是监管指令只能监管某一个文件夹,而不能同时监管多个仓库。

 答:可以通过监管WebApp总目录来达到监管所有仓库的目的。
svnserve -d(后台运行)-r(监管目录)WebApp(项目总目录)

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

svn://localhost 或p地址来访问D:/svn/WebApp目录
如果需要访问Shop项目、Wechat项目
Shop项目:svn://localhost/Shop
Wechat项目:svn://localhost/Wechat

 权限控制

如果要使用权限控制有一个前提:必须首先开启权限功能
在每一个仓库中都有一个conf文件夹,里面有三个文件。

authz文件:授权文件告诉哪些用户具有哪些权限
passwd文件:认证文件,标识当前svn系统中具有哪些用户以及相应的密码

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

开启步骤如下:

  1. 注释匿名用户的可读可写权限
  2. 开启认证文件与授权文件
  3. 编写认证文件(passwd)定义相关用户名与密码
  4.  编写授权文件(authz),创建分组信息

    配置项目,创建分组信息授权
  5.  测试
    新建一个文件夹,将数据检出至本地,编写一个文件,提交,如果弹出以下页面,就代表已经授权成功了
六. SVN服务的配置与管理  配置自启动服务

sc create SVNService binpath= "D:subversionbinsvnserve.exe--service-r D:/svnroot" start= auto

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

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

②输入以下指令 

 ③查看系统服务

        控制面板→管理工具→服务
        双击运行

如果运行成功代表开启SVN监管服务,以后运行系统时就能自启动SVN服务了。

 创建批处理文件

 我们创建几个文件,写入指令,双击运行就能对服务进行操作

启动服务:net  start  服务名称
停止服务:net  stop  服务名称
删除服务:sc  delete  服务名称

七. 模拟真实开发环境 svn工作流程

 钩子程序

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

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

其他还有很多钩子文件可以查资料

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

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

1. 指定svn服务端工作目录
设置服务器端SVN路径:SET SVN="D:svnbinsvn.exe"

2. 指定Web服务器工作目录
设置服务器端项目运行目录
SET DIR="D:serverapachehtdocsshop"

3. 通过update指令实时更新数据到DIR目录中
SVN update %DIR%

 具体使用步骤:

第一步:复制 post-commit.tmpl为post-commit.bat文件
第二步:填入相关批处理指令

第三步:在apache目录创建Shop项目并更新SVN服务端数据到本地
第四步:更新文件到SVN服务器端,可以在Shop目录实时获取到最新数据
第五步:可以通过虚拟主机形式直接访问更新文件

 八. SVN扩展程序 什么是BAE云引擎

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

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

如何使用BAE云引擎

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

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

  1.  添加部署

    单击管理控制台,添加成功如下图:

     
  2.  SVN管理

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

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

    单击快捷发布,就会重新发布出去,再访问时就可以看到更新后的内容了·。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/320710.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号