SVN使用指南——Windows环境版.ppt_第1页
SVN使用指南——Windows环境版.ppt_第2页
SVN使用指南——Windows环境版.ppt_第3页
SVN使用指南——Windows环境版.ppt_第4页
SVN使用指南——Windows环境版.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

svn使用指南 windows环境版 内容概要 问题与案例svn简介应用环境客户端安装简单应用复杂应用 问题与案例 一 电脑发生故障 文件没有备份而丢失了由于人员离职 导致某些资料丢失了我怎么知道手头的公共资料是不是最新版呢 想要追溯几个月前的某个状态 却发现那个版本的文件已经被当作垃圾删除了每天要花费很多时间来向别人提供需要共享的资料 back 问题与案例 二 相似的应用系统 每次都重复开发 难以复用一个软件被用于多个项目 发现其中存在一个bug 所有这些项目都要进行修复人员分布在两地开发 版本如何同步甲乙两人为不同目的修改了同一份文件 乙的提交在甲提交之后 导致甲修改的内容丢失了客户测试发现了bug 开发人员却无法重现出来 back svn简介 一 back svn简介 二 一个开源的版本管理软件可架设在apache上 使用http或https协议访问 也可使用内置的svn协议访问在windows环境下 最常用的客户端为tortoisesvn 简称tsvn 在linux unix环境下 用命令行方式操作svn的版本号指的不是某个文件的状态 而是整个库的状态 back 应用环境 服务器端 collabnet的svn服务器端安装包 内含apache2 2 windows客户端 推荐使用tortoisesvn 以下简称tsvn 可通过tsvn进行读 写操作可通过ie浏览器进行读操作可通过各种插件与开发工具集成 back 客户端安装 一 安装文件 tsvn客户端 tortoisesvn 1 6 8 19260 win32 svn 1 6 11 msitsvn中文语言包 languagepack 1 6 8 19260 win32 zh cn msi全部选择默认安装 安装完成后重启电脑tsvn通过右键菜单与windows资源管理器集成 没有自己的窗口界面 back 客户端安装 二 tsvn通过右键菜单与windows资源管理器集成 没有自己的窗口界面 back 简单应用 tsvn右键菜单与图标创建版本库检出更新提交增加删除改名移动 back tsvn右键菜单 一 back tsvn右键菜单 二 back tsvn图标 back 创建版本库 在svn服务器端操作在相应文件夹内新建一个文件夹 用于存储数据在新建文件夹上点右键 选择 tortoisesvn 在此创建版本库 tsvn会在此文件夹内建立若干控制文件 back 检出 一 检出 用于客户端第一次从svn服务器上下载版本库数据在客户端新建一个文件夹用于存放下载的数据在新建文件夹上点右键 选择 svn检出 back 检出 二 在弹出窗口的 版本库url 处填入版本库的访问地址 如 http 10 50 22 35 8080 svn xxx部门 xxxx项目 点 确定 开始从svn服务器下载数据 back 更新 更新 用于客户端从svn服务器下载最新版本在受svn控制的某层文件夹上 或文件夹内空白处 点右键 选择 svn更新 tsvn自动比较该文件夹客户端与服务器的版本差异 并下载最新版本到客户端 back 提交 一 提交 用于将客户端的改动上传到svn服务器在受svn控制的某层文件夹上 或文件夹内空白处 或某文件上 点右键 选择 svn提交 back 提交 二 tsvn自动检查该文件夹客户端的改动 并将其列在弹出窗口的 变更列表 栏在弹出窗口的 信息 栏写上对此次提交的注释 以便将来追溯点击 确定 将客户端的改动上传到服务器 back 增加 一 增加 用于将新文件或文件夹纳入svn的控制之下在受svn控制的某层文件夹上 或文件夹内空白处 或新增的某文件上 点右键 选择 tortoisesvn 增加 back 增加 二 如果 增加 是对文件夹进行操作 则会弹出窗口列出该文件夹下未受控的文件 点击 确定 将其纳入svn控制 增加 后文件图标从变成 增加 仅是对客户端的文件进行标注 并不上传到服务器 需要执行 提交 操作才会上传 back 删除 一 删除 用于从当前版本中删除文件或文件夹在受svn控制的文件夹中 通过windows直接删除子文件夹或文件或 在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn 删除 back 删除 二 删除 仅是对客户端的文件进行操作 并不改变服务器上的内容 需要执行 提交 操作才会将删除操作上传到服务器将 删除 操作 提交 到服务器后 仅是从服务器的最新版本中删除了此文件或文件夹 在历史版本中仍可找回此文件或文件夹 back 改名 一 改名 用于在受svn控制的状态下 对文件或文件夹改名在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn 改名 back 改名 二 改名 仅是对客户端的文件进行操作 并不改变服务器上的内容 需要执行 提交 操作才会将改名操作上传到服务器不要用windows 重命名 来实现改名 因为这个操作不受svn控制 svn会将其理解为删除原文件 增加一个新文件 从而导致文件改名后不能跟踪到改名前的状态 back 改名 三 改名的另一种方法 在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn 版本库浏览器 在弹出窗口右键点击要改名的文件夹或文件 选择 改名 由于是对服务器版本库直接操作 改名后将自动执行一次 提交 操作改名完成后需要在客户端执行一次 更新 以下载最新状态 back 移动 一 移动 用于在受svn控制的状态下 移动文件或文件夹的位置在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn 版本库浏览器 在弹出窗口拖动文件夹或文件到需要的位置由于是对服务器版本库直接操作 移动后将自动执行一次 提交 操作移动完成后需要在客户端执行一次 更新 以下载最新状态 back 移动 二 不要用windows的拖动操作或 剪切 粘贴 来实现移动 因为这些操作不受svn控制 svn会将其理解为在原位置删除文件 在新位置增加文件 从而导致文件移动后不能跟踪到移动前的状态 back 复杂应用 更新至版本还原复原 回滚 冲突及解决分支 标记合并锁定 解锁权限管理 back 更新至版本 更新至版本 用于取出文件的某历史版本在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn 更新至版本 在弹出窗口中填写要取的版本号 点 确定 取回该版本 back 还原 一 还原 用于放弃 增加 删除 改名 以及修改文件内容等客户端的本地操作 将客户端的数据恢复到改动前的版本状态在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn svn还原 back 还原 二 在弹出窗口中查看要还原的内容 点击 确定 还原客户端数据 还原 只能用于执行 提交 操作之前 即未将客户端的改变上传到服务器之前 back 复原 回滚 一 复原 回滚 用于将项目恢复到之前的某个版本状态 并在此版本基础上继续后面的工作在受svn控制的某层文件夹或文件上点右键 选择 tortoisesvn 显示日志 back 复原 回滚 二 在弹出的日志窗口中 右键点击要复原的版本 选择 复原到此版本 复原结束后 执行 提交 操作 将此版本作为版本库的最新版本 back 冲突及解决 一 冲突的产生 当两人从同一个版本出发 修改同一份文件并提交时 这两个修改版本就会发生冲突 后提交的人会收到发生冲突的提醒 且提交失败 要求先进行更新操作 back 冲突及解决 一 back 不会导致冲突 可能导致冲突 冲突及解决 三 发生冲突后 执行 更新 操作后 对于发生冲突的文件 tsvn会加上冲突标记如果发生冲突的文件是二进制文件 如doc文件 jpg文件 tsvn会增加2个文件 分别是起始版本和发生冲突的版本如果发生冲突的文件是文本文件 如c文件 txt文件 tsvn会将工作副本中的原文件改名增加 mine 后缀 将两个版本的冲突写入原名文件 文件中用 加以标识 并另外增加2个文件 分别是起始版本和发生冲突的版本 back 冲突及解决 四 例如 两人从第213版开始对start c和srs doc进行修改 甲先修改完成并提交形成217版 乙随后提交时发生冲突 则在乙的该文件夹下将会存在七个文件 start c 自动合并了甲和乙的修改内容的start cstart c r213 甲乙修改前的start cstart c r217 甲修改后的strat cstart c mine 乙修改后的start csrs doc 乙修改后的srs docsrs doc r213 甲乙修改前的srs docsrs doc r217 甲修改后的srs doc back 冲突及解决 五 解决冲突 手工将前一版本中的修改整合到自己的文件中在冲突的文件或文件夹上点右键 选择 tortoise 已解决的 标记为冲突已解决 此时会自动删除多余的文件 然后再次 提交 back 分支 标记 一 分支 分支 通常用于在不同的线上同时工作的情况 分支 通常设置为分支的所有者拥有读写权限 其他人员仅有读取权限标记 标记 通常用于版本发布 标识基线状态等情况 标记 通常设置为配置管理员拥有读写缺陷 其他人员只有读取权限svn使用同样的操作进行 分支 和 标记 back 分支 标记 二 推荐的目录结构 back 分支 标记 三 案例一 back 分支 标记 四 案例二 back 分支 标记 五 案例三 back 分支 标记 六 创建分支 在受svn控制的某层文件夹上点右键 选择 tortoisesvn 分支 标记 在弹出窗口的 至url 栏 填写分支的存放地址 通常将其存放到branches目录下 并加上分支的名称 如 http 10 50 22 35 8080 svn 软件中心 project branches 工行版 back 分支 标记 七 创建分支 在弹出窗口的 从此复制到版本库 处选择从 最新版本 或 指定版本 或 工作副本 工作副本可能是个混合版本 复制在弹出窗口的 日志信息 栏填写注释信息 然后点击 确定 在对应的文件夹执行 更新 操作 下载分支到客户端 之后对分支的操作均在此文件夹进行 back 分支 标记 八 创建标记 创建标记与创建分支类似 只是通常将其存放到tags目录下 如 http 10 50 22 35 8080 svn 软件中心 project tags release v1 0标记实际是为某个版本做了个标签 不会为另存一份而消耗服务器的存储空间 back 合并 一 合并 对两个版本树进行比较 然后将区别应用到本地副本 合并后需进行 提交 操作 例如 在分支a上进行了一系列修改 现在要将这些修改合并到主干上 则可比较建立a分支的版本与a分支最终版本之间的差异 并将差异应用到主干上可从分支合并到主干 也可从主干合并到分支 也可从分支a合并到分支b可选择合并创建分支以来的所有改变 也可选择合并创建分支以来的某几个版本的改变 back 合并 二 在目标文件夹上点右键 如要将 branches 工行版 分支的内容合并到主干上 则在 trunk 文件夹上点右键 选择 tortoise 合并 在弹出窗口选择 合并一个版本范围 常用选择 点击 下一条 back 合并 三 在 合并的源url 处选择要合并进来的分支地址 如 http 10 50 22 35 8080 svn 软件中心 project branches 工行版在 待合并的版本范围 处填入合并的版本范围 可点击边上的 显示日志 选择版本点击 下一条 back 合并 四 合并深度选择默认的 工作副本 比较空白字符 忽略空白字符的变化 等选择用于对文本文件的比较 测试合并 可在正式合并之前测试合并结果 比如是否存在冲突等点击 合并 若未发生冲突 可在合并后执行 提交 操作 back 合并 五 若合并时发生冲突 通常可在弹出窗口选择 以后解决 在本地副本中冲突的文件处将增加2个文件 对二进制文件 或3个文件 对文本文件 手动解决冲突后 使用 tortoise 已解决的 标记冲突已解决 然后执行 提交 操作 back 锁定 解锁 一 为了便于多人协作 svn不提倡 锁定 修改 解锁 的方式由于存在冲突解决的机制 通常多人可对同一份文件进行修改 而不会导致严重问题但在某些情况下 比如对一张图片进行修改时 两份冲突的图片文件将很难被整合到一起 这时建议用锁定 解锁的方式 back 锁定 解锁 二 锁定方法一在需要锁定的文件夹或文件上点右键 选择 tortoise 属性 在弹出的 属性 窗口选择 新建 在弹出的 增加属性 窗口 选择 svn needs lock 属性 并点 确定 增加属性执行 提交 操作 将属性的改变上传到服务器 若他人执行更新操作 将看到文件被设置为只读 back 锁定 解锁 三 在设置了needs lock属性的文件或文件夹上点右键 选择 svn获取锁定 以获取锁的拥有权在弹出窗口输入锁定的原因等注释信息 然后点击 确定 获取锁定获取锁的拥有权后 文件将被标识为 back 锁定 解锁 三 锁定方法二在要锁定的文件或文件夹上点右键 选择 tortoise 获取锁定 即可锁定并拥有其所有权 文件将被标识为采用此锁定方法时 并不会自动设定svn needs lock属性 别人更新后也看不到此标记 但可阻止别人的提交 back 锁定 解锁 四 锁定后 他人提交时将被报告文件已被锁 并提交失败解锁 对应锁定方法一 在锁定的文件夹或文件上点右键 选择 to

温馨提示

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

评论

0/150

提交评论