已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 TortoiseSVN 常规功能介绍TortoiseSVN 是最常用的 Subversion 客户端软件,其所有功能都集成在系统右键中,通过系统右键菜单便可实现 TortoiseSVN 的日常操作。首先,需从配置库(repository)签出(check out)原始码的一个版本到本地工作目录。然后,可以只编辑想要改变的文件,也可以新增文件或是删除不再需要的文件。当完成时,可以签入(Commit)到库中如果在修改时,其它人已经改变了同一个文件,那么签入(commit)会失败。那么必须从仓库(repository)更新(Update)所有的文件。这将其它开发人员的改变自动合并到您的文件副本里。但如果两个人改变了同一行程序代码或者修改的是二进制文件(如 word、excel 等),这将发生“冲突(Conflict)”,必须手动解决冲突(见后面)。1.1 初始化导入/import u 对于 Subversion 来讲。服务端进行配置后,项目版本库第一次运行,会由配置管理员进行第一次导入操作。u 来到我们需要导入的项目根目录,依次导入 D:branchs;tags;trunk,目录下有若干个文件。1) 右键- TortoiseSVN-导入/import2) 版本库URL输入35/www3) 系统提示输入用户名跟密码 点击OK后就可以将数据导入到我们刚刚定义的数据库中了。在进行初始化导入操作时,也可通过鼠标选中需要导入的文件夹直接拖拽“版本浏览/Repo Browser”右侧。1.2 SVN 检出/SVN check out u 该操作可以将 SVN 服务端所保存的数据下载至个人工作平台。u 来到我们想要导入的项目根目录,在这个例子里是 C:Documents and Settings桌面test,该目录为空:1) 右键-SVN 检出/SVN check out2) 版本库 URL 输入 svn:/38/www(此处版本库 URL 为 subversion服务端 IP 地址;检出至目录为 C:Documents and Settingschengr.HS桌面test),点击确定。版本库 URL /URLof repository:为配置库路径检出至目录(D)/checkout directory:为本地工作目录其它一般按缺省设置。通常情况下为最新版本,如需要其他版本,点击显示日志进行选择1.3 显示日志/Show log 该功能主要显示版本库中过往的版本更新记录, 在操作中可以 显示更改的详情。1.4 版本浏览器/Repo Browser 版本库浏览工具,可以直观的显示版本库中的受控文件。如果想看文件,也可直接选中文件,右键,选择打开功能。注意:对于 word、excel等文件,应选择 open with,然后选择相应的软件打开。1.5 检查修改/ Check for modifications 检查版本库中已变更的版本,并显示与本地工作平台不同的文件1.6 版本分枝图/Revision graph 主要作用是显示分支与合并,可以直观的了解版本变化的过程。1.7 更新至版本/Update to revision 更新到其中一个已控制的版本1.8 SVN 还原/Revert当用户对工作平台的内容进行修改,且未提交至版本库时,可以选择此项,还原已修改的文件注:Updata和Revert的区别假设当前最新的版本是6,但是,最新的一次提交不是你想要的,也就是想把版本为6的修改干掉下面来看看如何分辨用revert和update来实现。1、使用revert保证本地copy为最新版本,即版本6.将本地copy revert到版本5.将本地copy commit。2、使用update将本地copy update到版本5.这个时候是没办法直接提交的,因为你的修改不是在最新的版本(6)上进行的。需要把版本5做个备份,然后check out版本6.通过文件比较工具将版本6的本地copy修改为与版本5的本地copy一致。然后将版本6的本地copy提交。可见,revert与update的本质区别是,revert是在本地copy原来版本的基础上进行的修改,若原来本地copy的版本为最新,可以直接commit;update只是将本地copy更新到一个指定的版本,若更新到的不是最新版本,不能进行commit。可见revert就是回退修改,但版本保持不变;update是将本地copy更新到一个指定的版本。1.9 清理/Clean up 当进行了一次版本稳定后,可以点击此项,系统将清除多余的文件有些时候在客户端Checkout 文件后,SVN的系统图标也会不显示,可以执行一下“Clean up”,就会出现 SVN 的系统图标。1.10 获取锁定/Get lock 可以对版本库中的文件或文件夹进行锁定,则其他用户暂时无法对该文件或文件夹进行操作。一旦对文件执行该操作,如果要修改文件,必须先获取锁定,才能修改。1.11 解除锁定/Release lock 与功能 2.10 对应,释放锁定,其他人可以对文件进行编辑1.12 更新工作区/Update从服务器取得变动的部分到本地副本的过程称作“更新(Updating)”。更新可能作用于文件、目录上。若要更新,选择想要的文件或目录,按鼠标右键并选择 SVN Update。对话框会蹦出并显示当它执行时更新的过程。由其他人所做的变动会被合并到您的文件之中,执行更新(update)对配置库不会被影响。如果在更新期间收到冲突提示,需手工解决冲突。1.13 增加/Add 该功能可用于向版本库(repository)增加文件或文件夹。也可以通过鼠标选中文件或文件夹直接拖拽到“版本库浏览器/Repo Browser”右侧。在新增操作被执行后,文件或文件小图标显示为“被改变了的(changed)”。这是因为新增被视为本地端的变动,且尚未被用到仓库(repository)上,直到签入(commit)它们1.14 撤销增加/Undo Add 该功能与 2.13 功能对应,当增加的文件、文件夹还没提交(Commit)到配置库中,刚增加的文件或文件夹想撤销,可执行该操作。2.15 提交/SVN Commit 让本地的修改在仓库(repository)有效称作“签入(committing)”。在签入之前,应该做更新以确保没有冲突(conflicts)。要开始签入更改,选择想要签入(commit)的文件或文件夹。在所选的文件或文件夹上按鼠标右键,并选择 SVN Commit。 要实现本地文件或文件夹增加到版本库(repository)中,其流程:添加的文件时,别人看不到,版本库里也没有,最可能的原因是,只是执行了“Add”而没有“Commit”,这样只是在本地注明某个文件是预定要增加的,而没有实际添加到版本库中,要添加到版本库必须执行“Commit”。删除文件也是一样。当仓库与目录很多,使用 TSVN 每次需要选择目录 URL of repository 有很多地址时,可通过:右键-TortoiseSVN-Settings-Saved Data ,清除你想要的东西,如: URL、log、窗口大小、密码缓存等。1.16 重新定位/relocate(没有成功)通过切换,可将版本库地址切换到另一个地方,在使用分支时经常用到。 另外在内外网切换时也可以通过此方式实现。 为了内外网使用同一地址,避免切换,也可在C:WINDOWSsystem32driversetchosts 文件内增加一行:62 这样无论内外网都可统一使用一个地址了。2 TortoiseSVN 的进阶用法2.1 锁定文件 锁分为两类:乐观锁、悲观锁2.1.1 乐观锁乐观锁设定 下鼠标右键并选择 TortoiseSVN Get lock。 当修改完成或无需锁定或其他人需要修改时,可以释放锁/release lock(即“锁定-编辑-解锁”模型 )对于二进制文件,如 doc、xls 等,可采用设置锁的方式。这对于习惯于 VSS 模式的人员,也可用此方式。2.1.2 悲观锁特点: 对文件设置该属性后,checkout 文件都为只读,图标为灰色勾; 必须先获取锁定才能进行修改,且一旦一个用户获得锁,其他人就无法修改; 若工作副本已经 out of date 无法获取锁定,必须更新到最新版本再获取锁定; 可以对文件或文件夹进行;缺点: 新增的文件没有该属性;悲观锁的设定: 对文件或文件夹添加 svn:needs-lock 右键选中- 属性-Subversion 选项夹-properties-new-svn:needs-lock , 值可填*之后还要提交提交之后的效果注:当对文件夹锁定时,需勾选“递归应用该属性/Apply property recursively”;当对文件时,无需勾选“递归应用该属性/Apply property recursively”。修改被锁定文件:注意事项: 用户 checkout 该文件最新的版本;修改文件步骤: 获取锁(假设我们对“使用手册.doc”进行了属性修改”)Check out “使用手册.doc”后,右击菜单-获取锁 修改并 check in按日常修改流程执行; 释放锁/release lock修改完成后,commit “使用手册.doc”,系统会自动释放锁;如果该文件仍然需要保持锁定,可以在提交的时候选择“保持锁定选项”使用悲观锁可以有效解决本来计划对不太适合合并关键类文档(如二进制文件:doc,xls 等文件)出现忘记锁定的情况。3.2 创建分支/ Branch/tag TAG 使得系统目前的状态可以在未来被重新建构。SVN 使用整体版本号,每次提交都将使全局版本号加 1,Tag 可为全局版本号取个容易记忆的名称。与 CVS 不同,它执行非常快。在 SVN 中,标记(Tags)和分支(Branch)的命令是在一起,说明两者有相似之处。未修改的分支即为“标记”,标记修改后就转化为分支。作基线时,可通过标记操作实现,将系统主干(trunk)复制到 tags 目录下即可。如:1、选中 trunk 目录2、右键TortoiseSVN-tags/branches3、出现界面因此,项目目录结构中,顶层必须符合规范,设立 trunk、tags 和 branches 目录,否则将无法做基线。对于文件级的标签,虽然也可以通过 tags 操作,但效果不大好,可在提交时写在备注说明中,以后可在日志显示中查到。有几点需要注意: 默认的目标 URL 将会是你当前工作副本所处的源 URL。你必须给你分支/标记编辑一个路径。 必须选择要复制的源位置。1)版本库中的最新版本 新分支直接从仓库中的最新版本里复制出来2)版本库中指定具体的版本 在仓库中直接复制建立一个新分支同时也可以选择一个旧版本。假如在你上周发布了项目时忘记了做标记,这非常有用。3)工作副本 新的分支是一个完全等同于你的本地工作副本的一个副本2.3 合并分支/Merge 选择右键菜单 TortoiseSVN -合并/Merge 首先考虑这么一个需求,为了 Bug 修改的工作,创建分支 A,主干同时也在进行正常的开发工作,现在分支 A 的工作完成,需要将 A 上的修改合并到主干上,这应当是最经常使用的一种模式,下面分步骤说明合并过程。 第一步:将工作副本切换到主干上:这一步很重要,当前的工作副本的是要合并的目的地 第二步:在主干根目录内需要merge的文件上右键,如下图,选择最后一项下一步进行这一步操作时有几点需要注意:u p 当前工作副本 URL,选择主干目录 URL 一致;u p 起始 URL:选择要合并分支的起始版本 URL;u p 结束 URL:选择要合并分支的结束版本 URL;u p 起始和结束的版本:起始版本应当找到最后一次同步时的版本,如果从没有同步过(第一次合并),则选择创建分支时的版本,结束版本一般是最新版本,如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿化养护移交协议书
- 电梯租赁服务协议书
- 监理委托协议书模板
- 花卉供货协议书范本
- 矿业项目收购协议书
- 电动伸缩棚合同范本
- 矿山占地补偿协议书
- 种植产业扶持协议书
- 电动车代销合同范本
- 电视台拍摄合同范本
- 竞聘安全环保岗笔试题及答案
- 注资分红协议书范本
- 2025山东发展投资控股集团有限公司招聘7人笔试历年参考题库附带答案详解
- 2025中国企业数智化转型案例研究报告
- 午餐外出安全协议书
- 2025至2030中国团膳行业市场发展分析及发展趋势与投资机会报告
- 水利水电工程数字孪生设计导则(2025版)
- 2025年秋人教版小学三年级数学上册竞赛测试题(含答案解析)
- 光伏屋面施工资源配置方案
- 南水北调江苏水源公司2026届校园招聘备考考试题库附答案解析
- 撰写文献综述专题课件
评论
0/150
提交评论