SVN-服务器操作指南PPT课件_第1页
SVN-服务器操作指南PPT课件_第2页
SVN-服务器操作指南PPT课件_第3页
SVN-服务器操作指南PPT课件_第4页
SVN-服务器操作指南PPT课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SVN服务器操作指南 2020年4月14日 赵祥 目录 Lucene基本概念建索引集搜索 查询索引 删除索引修改索引 版本控制 版本控制版本控制 Revisioncontrol 是维护工程蓝图的标准作法 能追踪工程蓝图从诞生一直到定案的过程 此外 版本控制也是一种软件工程技巧 借此能在软件开发的过程中 确保由不同人所编辑的同一程式档案都得到同步 出现版本控制工具前的解决方案在最简单的情况下 软件设计师可以自己保留一个程式的许多不同版本 并且为它们做适当的编号 这种简单的方法已被用在很多大型的软件专案中 题目 Subversion相关软件 基于Subversion和TortoiseSVN的版本控制系统Subversion 是一个开源的版本控制系统 拥有CVS的大部分特征 并在CVS的基础上有更强的扩展 用来代替CVS系统 TortoiseSVN SVN的客户端工具 和资源管理器完美集成 基于TortoiseCVS的代码开发 使用上和TortoiseCVS极为相似 Web浏览器目前公司的版本库基于Apache服务器运行 可在浏览器中查看授权过的版本库的信息 题目 使用SVN之前需要了解的第一个概念 版本库 Repository SVN的核心是版本库 储存所有的数据 版本库按照文件树形式储存数据 包括文件和目录 任意数量的客户端可以连接到版本库 读写这些文件 通过写数据 别人可以看到这些信息 通过读数据 可以看到别人的修改 最特别的是Subversion会记录版本库中的每一次更改 不仅针对文件也包括目录本身 包括增加 删除和重新组织文件和目录 题目 使用SVN之前需要了解第二个概念 版本模型锁定 修改 解锁方案复制 修改 合并方案 在这种模型里 每一个客户读取项目版本库建立一个私有工作副本 版本库中文件和目录的本地映射 用户并行工作 修改各自的工作副本 最终 各个私有的复制合并在一起 成为最终的版本 这种系统通常可以辅助合并操作 但是最终要靠人工去确定正误 Subversion怎么做 Subversion缺省使用复制 修改 合并模型 大多数情况下可以满足你的需求 然而 Subversion1 2后还是支持锁定 如果你有不可合并的文件 或者你只是想实行强制管理策略 Subversion仍然会提供你需要的特性 题目 TortoiseSVN使用 识别重载图标 一个新检出的工作副本使用绿色的对勾做重载 表示Subversion状态正常 在你开始编辑一个文件后 状态就变成了已修改 而图标重载变成了红色感叹号 通过这种方式 你可以很容易地看出哪些文件从你上次更新工作副本后被修改过 需要被提交 如果在更新的过程中出现了冲突 图标会变成黄色感叹号 如果你给一个文件设置了svn needs lock属性 Subversion会让此文件只读 直到你获得文件锁 具有这个重载图标的文件来表示你必须在编辑之前先得到锁 如果你拥有了一个文件的锁 并且Subversion状态是正常 这个重载图标就提醒你如果不使用该文件的话应该释放锁 允许别人提交对该文件的修改 这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除 或是该文件夹下某个受版本控制的文件丢失了 加号告诉你有一个文件或目录已经被调度加入版本控制 题目 版本库结构 Subversion的版本库布局中 推荐建立 trunk tags branches三个目录 他们不是必须的 但其设置贴合SVN功能 在使用中你将会发现这样设置的好处 Trunk 最新的代码 相当于CVS中的Head版本 Tags Subversion使用过程中创建的标签 Branches 保存Subversion的工作分支 题目 SVN的部署 安装和配置 公司的版本库情况介绍基于Apache运行各部门建立各自的版本管理服务器质量管理部统一进行公司层面 部门层面和项目层面的版本管理服务端的安装配置 略TortoiseSVN的安装如何获取安装文件 从下载从公司版本库中获取 默认安装安装后与windows资源管理器完美集成 TortoiseSVN使用 访问版本库 访问方法 Subversion可以通过多种方式访问 本地磁盘访问 或各种各样不同的网络协议 但一个版本库地址永远都是一个URL URL方案反映了访问方法 10 客户端使用的主要流程 SVN客户端使用 SVN客户端使用 Diffwithperviousversion 与上个版本的区别 与上个版本的区别Checkout 检出 从版本库中检出工作复本 Commit 提交 提交对工作复本的修改到版本库中 Updatetoversion 更新到指定版本 更新工作复本使其是版本库中的最新版本或指定的版本 Showlog 显示日志 显示版本历史记录 Repo browser 版本库浏览器 可以清楚的浏览版本库中的目录结构 SVN客户端使用 Checkformodifications 检查更新 系统列表所有待更新的文件及文件夹的状态 Revisiongraph 版本历史图示 显示指定文件的版本历史图示 Rename 改名 SVN支持文件改名 Add 新增 新增文件或文件夹到版本库中 Delete 删除 删除文件或文件夹 GetLock 获取锁 锁定选中文件或文件夹 实际是锁定文件夹中的所有文件 包括各层子文件夹中的文件 SVN客户端使用 Revert 还原 还原本地所做的修改 与检出 checkout 的版本相比较 Export 导出 导出你需要的文件 导出后不再受SVN控制 而检出 checkout 的文件仍受SVN控制 Import 导入 将需要的文件导入到版本库中 Relocated 重新定位 当服务器上的版本库目录或版本库地址已经改变 我们可以把工作复本重新定位 SVN客户端使用 Branch tags 分支 标签 创建分支与标签注意 过渡的使用分支将会造成混乱 所以我们只在一下四种情况下使用 1 发布分支2 发布3 Bug修正4 开发人员的试验Switch 切换 文件创建分支后 你可以通过Switch选择在主干工作还可以选择在分支工作 Merge 合并 主干与分支进行合并 Eclipse下使用Svn 在Ecilpse下安装subclipse插件1 帮助 软件更新 查找并安装2 选择 要安装的新功能部件 选项并点击Next 3 点击 新站点 并且创建一远程站点 使用名字Subclipse和URLhttp subclipse tigris org update 1 0 x4 在结果安装窗口中 把 SubeclipseintheFeatures 选择到安装列表中 并且通过向导来开始安装插件 5 完成这些之后 重新启动Eclipse 题目 在Eclipse中使用SVN 下载插件Subclipse需要根据Eclipse的版本下载相应版本的Subclipse下载地址 http subclipse tigris org也可以在公司的资料库中下载解压缩后 文件夹结构如下 题目 在Eclipse中使用SVN 安装 将该文件夹拷贝到Eclipse的plugin目录下 并建立相应的目录结构 我们命名为subversion 最终的目录结构如下 题目 在Eclipse中使用SVN 安装 配置文件在eclipse links目录下 新建subversion link文件 文件内容只有一行 path plugin subversion启动Eclipse 在 首选项 小组 中就可以看到Subversion的插件选项了 Eclipse下使用Svn的主要功能 在Eclipse下使用Svn我们主要使用功能 1 小组2 比较对象3 替换为 在Eclipse下使用SVN 将版本库导入到SVN资源库窗口 打开透视图 SVN资源库研究 右键 新建 资源库位置 URL中输入版本库的访问路径 输入用户名test和密码检出在SVN资源库透视图下 点http 192 168 0 16 8080 test 会显示出现在本机SVN上的所有工程 右击你想下载的工程 检出为 下一步 完成将新建的项目导入版本库右击工程 小组 共享项目 选择SVN 填写版本库的访问路径 如果没有 则创建一个新的资源库 下一步 完成 Eclipse下图标说明 灰色向右箭头 本地修改过蓝色向左箭头 SVN上修改过灰色向右且中间有个加号的箭头 本地比SVN上多出的文件蓝色向左且中间有个加号的箭头 SVN上比本地多出的文件灰色向右且中间有个减号的箭头 本地删除了 而SVN上未删除的文蓝色向左且中间有个减号的箭头 SVN上删除了 而本地未删除的文件红色双向箭头 SVN上修改过 本地也修改过的文件 在Eclipse下使用SVN 小组1 同步在包资源管理器下 右击你要同步的工程 小组 与资源库同步 这时会进入同步透视图 会显示出本机与SVN上内容有不同的文件 双击文件名 会显示出两个文件中哪里不同 2 提交将你的修改提交到版本库中 3 更新将版本库中的最新版本更新到你的工作副本中 使你能知道其他人对版本库的修改 在Eclipse下使用SVN 4 创建补丁为了避免任何人都可以修改项目的源代码而造成项目处于不稳定状态 所以需要以补丁文件的形式先递交到有写访问权限的开发组 开发组可以先对该补丁文件进行审查 然后决定将其提交到仓库里或者是退还给作者 补丁文件只是简单地用统一的差异描述文件显示出你的工作拷贝和基础版本的不同点 5 应用补丁当你对你的工作副本打补丁的时候 你应当在与创建补丁文件时相同的目录层次上 如果你不能确定在那个目录层次上 就看一下补丁文件的第一行 在Eclipse下使用SVN 6 分支 标记7 合并8 切换9 显示资源历史记录10 显示注释11 还原12 编辑冲突当发生冲突时 可以进行编辑冲突 显示出冲突的地方 并进行手工修改 在Eclipse下使用SVN 比较对象1 基本修订版2 资源库中的最新内容3 分支 标签4 修订版5 本地历史纪录中的先前内容6 本地历史纪录替换为 与比较对象的应用一样 只是这是替换 题目 TortoiseSVN 创建标签和分支 分支版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上 这条线被称为分支 标签版本控制系统的另一个特性是能够标记特殊的版本 例如某个发布版本 所以你可以在任何时候重新建立一个特定的构件和环境 这个过程被称作标记 使用提醒分支和标签的实质是 建立了一个新的工作文件副本 分支和标签意味着更多的维护版本 因此从配置管理角度来说 设置了只有经过项目经理审批才新建分支和标签 题目 分支和标签 慵懒的拷贝 Subversion的版本库有特殊的设计 当你复制一个目录 你不需要担心版本库会变得十分巨大 Subversion并不是拷贝所有的数据 相反 它建立了一个已存在目录树的入口 这个拷贝被可以被认为是 懒的 如果你提交一个文件的修改 只有这个文件改变了 余下的文件还是作为原来文件的链接存在 这就是为什么经常听到Subversion用户谈论 廉价的拷贝 与目录的大小无关 这个操作会使用很少的时间 事实上 这个特性是Subversion提交工作的基础 每一次版本都是前一个版本的一个 廉价的拷贝 只有少数项目修改了 当然 拷贝与分享的内部机制对用户来讲是不可见的 用户只是看到拷贝树 这里的要点是拷贝的时间与空间代价很小 所以你可以随意做想要的分支 当然对于一个团队协作的项目来说 其分支的设定规则是需要经过项目团队认可 管理者审批的 否则会给其他人的协作带来混乱 题目 分支和标签 使用场景 分支项目组在开发到一定阶段 产生一个假定稳定版本提交测试 主干被拷贝到分支 branch 1 0 开发者需要在测试假定稳定版本时继续开发新特性 在 trunk上为版本2 0工作 新工作在软件测试时不可以中断 如果测试中一个bug被发现 修改提交测试的分支branch 1 0 同时有规律地将修改合并到主干 如果继续开发中一个bug被发现 修改主干 同时有规律地将修改合并到分支 当测试结束 branches 1 0被打上标签发布 tags 1 0 0 这个标签被打包发布给客户 也许 继续维护 branches 1 0 当继续在 trunk上为版本2 0工作 bug修正继续从 trunk运送到 branches 1 0 如果积累了足够的bug修正 管理部门决定发布1 0 1版本 branches 1 0被标签发布到 tags 1 0 1 打包发布 整个过程随着软件的成熟不断重复 当2 0完成 一个新的2 0分支被创建 测试 打标签和最终发布 经过许多年 版本库结束了许多版本发布 进入了 维护 模式 许多标签代表了最终的发布版本 题目 配置管理程序 目的 提高生产率 减少混乱完整性正确性一致性可追溯性手段标识控制 变更管理 发布审批等 配置审计配置状态报告 题目 配置管理程序 配置管理员做什么 负责项目配置库的建立与配置项的管理 维护 负责与项目经理 部门经理沟通 进行配置库权限分配 负责编写 项目配置管理计划 负责对通过评审 测试或确认后的配置项进行发布并公告 负责控制修改 汇总 维护和保存有关软件配置管理活动的各项记录并定期维护 项目配置状态报告 负责跟踪已发布配置项的变更情况 并进行维护 负责项目过程中配置项的备份 负责确认项目组按照配置管理规则使用配置库 题目 配置管理程序 配置管理员收到项目立项通告 启动配置管理功能工作 在 项目计划书 编制后 与项目经理明确配置库结构 人员 权限 建库地址 管理机制 如备份 检察报告发布周期等 根据上述计划建立配置库 启动配置管理工作 对纳入受控库的配置项 只能由配置管理员发布 并进行公告 对其后续的修改 删除 重新发布 配置管理员要管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论