




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SVN使用指南 Windows环境版 内 容 概 要 问题与案例 SVN简介 应用环境 客户端安装 简单应用 复杂应用 问题与案例(一) 电脑发生故障,文件没有备份而丢失了 由于人员离职,导致某些资料丢失了 我怎么知道手头的公共资料是不是最新版 呢? 想要追溯几个月前的某个状态,却发现那 个版本的文件已经被当作垃圾删除了 每天要花费很多时间来向别人提供需要共 享的资料 Back 问题与案例(二) 相似的应用系统,每次都重复开发,难以 复用 一个软件被用于多个项目,发现其中存在 一个BUG,所有这些项目都要进行修复 人员分布在两地开发,版本如何同步 甲乙两人为不同目的修改了同一份文件, 乙的提交在甲提交之后,导致甲修改的内 容丢失了 客户测试发现了BUG,开发人员却无法重 现出来 Back SVN简介(一) Back SVN SVN简介(二) 一个开源的版本管理软件 可架设在Apache上,使用http或https协议 访问;也可使用内置的svn协议访问 在Windows环境下,最常用的客户端为 TortoiseSVN(简称TSVN) 在Linux/Unix环境下,用命令行方式操作 SVN的版本号指的不是某个文件的状态, 而是整个库的状态 Back 应用环境 服务器端:CollabNet的SVN服务器端安装 包(内含Apache2.2) Windows客户端:推荐使用TortoiseSVN( 以下简称TSVN) 可通过TSVN进行读、写操作 可通过IE浏览器进行读操作 可通过各种插件与开发工具集成 Back 客户端安装(一) 安装文件: TSVN客户端: TortoiseSVN-9260-win32-svn-1.6.11.msi TSVN中文语言包: LanguagePack_9260-win32-zh_CN.msi 全部选择默认安装,安装完成后重启电脑 TSVN通过右键菜单与Windows资源管理器 集成,没有自己的窗口界面 Back 客户端安装(二) TSVN通过右键菜单与Windows资源管理器 集成,没有自己的窗口界面 Back 简单应用 TSVN右键菜单与图标 创建版本库 检出 更新 提交 增加 删除 改名 移动 Back TSVN右键菜单(一) Back 第一次从服务 器下载数据( 含历史信息) 查看服务器上 版本库内容 从服务器下载 数据(不含历 史信息) 在服务器上创 建新的版本库 (限服务器上 操作) 导入新版本库 的目录结构( 不推荐使用) TSVN右键菜单(二) Back 从服务器上 下载最新版本 将本地的修改 上传到服务器 查看修订历史 信息 标记冲突已经 被解决 取回之前的 某个版本 放弃本次进行 的修改 SVN控制下的 改名和删除 将新文件纳入 SVN的控制 创建分支 或标记 合并分支 TSVN图标 Back 创建版本库 在SVN服务器端操作 在相应文件夹内新建一个文件夹,用于存储数 据 在新建文件夹上点右键,选择“TortoiseSVN 在此创建版本库”,TSVN会在此文件夹内建立 若干控制文件 Back 检出(一) “检出”用于客户端第一次从SVN服务器上下 载版本库数据 在客户端新建一个文件夹用于存放下载的数据 在新建文件夹上点右键,选择“SVN检出” Back 检出(二) 在弹出窗口的“版本库URL”处填入版本库的访 问地址,如:5: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 冲突及解决(一) 113 114 115 113 114 115 Back 不会导致冲突可能导致冲突 冲突及解决(三) 发生冲突后,执行“更新”操作后: 对于发生冲突的文件,TSVN会加上冲突标记 如果发生冲突的文件是二进制文件(如doc文 件、jpg文件),TSVN会增加2个文件,分别 是起始版本和发生冲突的版本 如果发生冲突的文件是文本文件(如c文件、 txt文件),TSVN会将工作副本中的原文件改 名增加“.mine”后缀,将两个版本的冲突写入原 名文件(文件中用加以标识),并另外增加2个文件, 分别是起始版本和发生冲突的版本 Back 冲突及解决(四) 例如:两人从第213版开始对start.c和SRS.doc进 行修改,甲先修改完成并提交形成217版,乙随 后提交时发生冲突,则在乙的该文件夹下将会存 在七个文件: start.c:自动合并了甲和乙的修改内容的start.c start.c.r213:甲乙修改前的start.c start.c.r217:甲修改后的strat.c start.c.mine:乙修改后的start.c SRS.doc:乙修改后的SRS.doc SRS.doc.r213 :甲乙修改前的SRS.doc SRS.doc.r217:甲修改后的SRS.doc Back 冲突及解决(五) 解决冲突: 手工将前一版本中的修改整合到自 己的文件中 在冲突的文件或文件夹上点右键, 选择 “Tortoise已解决的”,标记 为冲突已解决(此时会自动删除多 余的文件),然后再次“提交” Back 分支/标记(一) 分支: “分支”通常用于在不同的线上同时工作的情况 “分支”通常设置为分支的所有者拥有读写权限 ,其他人员仅有读取权限 标记 “标记”通常用于版本发布、标识基线状态等情 况 “标记”通常设置为配置管理员拥有读写缺陷, 其他人员只有读取权限 SVN使用同样的操作进行“分支”和“标记” Back 分支/标记(二)推荐的目录结构 Back projecttrunk branches tags 代码 文档 分支/标记(三)案例一 709 XXX软件 711 工行版 712 建行版 713 农行版 714 718 720 726 717 719 722 727 716 721 728 715 723 724 730 710 Release_V1_0 725 Release_V1_1 tags 标记 trunk 主干 branches 分支 729 Back 分支/标记(四)案例二 711 XXX软件 713 V1_0维护 715 717 719 714 716 718 720 712 Release_V1_0 1012 Release_V2_0 tags 标记 trunk 主干 branches 分支 1011 1013 V2_0维护 Back 分支/标记(五)案例三 Back 712 XXX软件 713 BUG037 717 718 720 721 714 715 716 719 trunk 主干 branches 分支 722 发现BUG, 编号037 分支/标记(六)创建分支 在受SVN控制的某层文件夹上点右 键,选择“TortoiseSVN分支/标记 ” 在弹出窗口的“至URL”栏,填写分 支的存放地址,通常将其存放到 branches目录下,并加上分支的名 称,如: 5:8080/svn/软件中 心/project/branches/工行版 Back 分支/标记(七)创建分支 在弹出窗口的“从此复制 到版本库”处选择从“最新 版本”或 “指定版本”或“工 作副本”(工作副本可能 是个混合版本)复制 在弹出窗口的“日志信息” 栏填写注释信息,然后点 击“确定” 在对应的文件夹执行“更 新”操作,下载分支到客 户端,之后对分支的操作 均在此文件夹进行 Back 分支/标记(八)创建标记 创建标记与创建分支类似,只是通 常将其存放到tags目录下,如: 5:8080/svn/软件中 心/project/tags/Release_V1_0 标记实际是为某个版本做了个标签 ,不会为另存一份而消耗服务器的 存储空间 Back 合并(一) 合并:对两个版本树进行比较,然后 将区别应用到本地副本(合并后需进 行“提交”操作) 例如:在分支A上进行了一系列修改, 现在要将这些修改合并到主干上,则 可比较建立A分支的版本与A分支最终 版本之间的差异,并将差异应用到主 干上 可从分支合并到主干,也可从主干合 并到分支,也可从分支A合并到分支B 可选择合并创建分支以来的所有改变 ,也可选择合并创建分支以来的某几 个版本的改变 Back 合并(二) 在目标文件夹上点右键 ,如要将“branches/工 行版”分支的内容合并 到主干上,则在“trunk” 文件夹上点右键,选择 “Tortoise合并” 在弹出窗口选择“合并 一个版本范围”(常用 选择) 点击“下一条” Back 合并(三) 在“合并的源URL”处选 择要合并进来的分支地 址,如: 5:808 0/svn/软件中心 /project/branches/工行 版 在“待合并的版本范围” 处填入合并的版本范围 ,可点击边上的“显示 日志”选择版本 点击“下一条” Back 合并(四) 合并深度选择默认的“工 作副本” “比较空白字符”、“忽略 空白字符的变化”等选择 用于对文本文件的比较 “测试合并”可在正式合并 之前测试合并结果,比 如是否存在冲突等 点击“合并” 若未发生冲突,可在合 并后执行“提交”操作 Back 合并(五) 若合并时发生冲突,通常可在弹出窗口选 择“以后解决”,在本地副本中冲突的文件处 将增加2个文件(对二进制文件)或3个文 件(对文本文件) 手动解决冲突后,使用“Tortoise已解决的 ”标记冲突已解决,然后执行“提交”操作 Back 锁定/解锁(一) 为了便于多人协作,SVN不提倡“锁定修 改解锁”的方式 由于存在冲突解决的机制,通常多人可对 同一份文件进行修改,而不会导致严重问 题 但在某些情况下,比如对一张图片进行修 改时,两份冲突的图片文件将很难被整合 到一起,这时建议用锁定/解锁的方式 Back 锁定/解锁(二) 锁定方法一 在需要锁定的文件夹或文件上点右键,选 择“Tortoise属性” 在弹出的“属性”窗口选择“新建”,在弹出 的“增加属性”窗口,选择“svn:need
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全生产制度汇编
- 睡眠健康课件图
- 吉林省长春吉大附中力旺实验中学2026届中考语文仿真试卷含解析
- 药店危险品培训管理制度
- 图书室读物入库管理制度
- (2025年)浙江省金华市辅警协警笔试笔试模拟考试试题含答案
- 静脉药物推注的安全观察要点
- 静脉输注并发症预防策略
- 尿失禁患者护理干预策略查房
- 术后恢复期患者评估护理查房
- 2025届贵州省铜仁市高二物理第二学期期末调研试题含解析
- 糖尿病的诊断指标
- 期末复习模拟试题(练习卷)-2024-2025学年八年级下册物理人教版(适用云南地区)
- 2025至2030中国铁路货车行业深度调研及投资前景报告
- 财税方面专业知识考试题及答案
- 城管执法实务培训课件
- 浙里贷(数字贷款)复习试题附答案
- 2025年中国冷镦钢线行业市场发展前景及发展趋势与投资战略研究报告
- 山东档案职称考试《档案基础理论》完整题(附答案)
- 2025年 吉林省长白山公安局警务辅助人员招聘考试试卷附答案
- 医疗投诉质量管理培训
评论
0/150
提交评论