SVN操作指南.ppt_第1页
SVN操作指南.ppt_第2页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

,客户端安装 版本库基本操作 客户端操作 合并与分支,主要内容,客户端安装,1、点击tortoisesvn-1511-win32-svn-1.6.17.msi,进行安装,客户端安装,客户端安装,客户端安装,客户端安装,客户端安装,客户端安装,点yes重启电脑,完成安装。,客户端安装,2、点击languagepack_1511-win32-zh_cn.msi,进行汉化,客户端安装,客户端安装,3、完成汉化的安装后进行中文设置,点击右键出现下图所示:,客户端安装,客户端安装,4、汉化后,右键查看,出现下图则汉化成功,至此安装完成。,客户端安装 版本库基本操作 客户端操作 合并与分支,主要内容,版本库基本操作,svn版本库浏览器的登录(连接配置库服务器) 在d盘创建工作目录,例如d:/工作空间/svn,然后在此文件夹上点击右键,选择tortoisesvn-版本库浏览器,如下图 :,版本库基本操作,版本分支图 有时候,我们需要知道从哪开始有了分支和标签,同时想知道这条支路是单独的分支还是树型结构。如果需要你可以使用tortoisesvn 版本分支图.。 这个版本历史分析图能够显示分支/标签从什么地方开始创建,以及什么时候删除。具体可见svn帮助,版本库基本操作,导出 用此命令,指定路径,便可导出一个干净的目录树,所谓“干净的”就是指导出的文件不受svn版本控制。默认的是导出当前版本的目录内容,当然也可以指定你想导出的版本。 如果项目含有外部项目的引用,而这个引用你不希望同时检出,请选中忽略外部的复选框。,版本库基本操作,检出 用此命令可以从服务器导出选中的目录到本地工作拷贝(本级),它和导出的区别在于,检出的文件受版本控制,检出的文件如下图所示:,版本库基本操作,创建文件夹/加入文件夹/加入文件 用这些命令可以向服务器端目录添加一个本地的文件或文件夹等。,删除 对目录或文件都可以进行删除操作,删除后版本号增加,可以通过日志找出已经删除的文件。,改名 如果要对文件进行改名,要在服务器端对文件或文件夹用改名命令,改完后在本地工作拷贝执行“提交”即可。可以在本地用右键,使用tsvn的菜单改名,提交后的效果一样。,版本库基本操作,复制至工作副本 这个本地工作拷贝必须是已经收版本控制的文件夹,执行此命令后,当前目录便会在本地工作拷贝显示预添加的符号。,打绿色对号的说明已经在svn服务端有的文件,蓝色加号的表示预添加的文件夹,在此文件夹上右键点提交即可添加。,版本库基本操作,复制到 用此命令可以在当前版本库中建立分支(标签/基线),svn允许并行的维护文件和目录的分支,各个分支间互相联系,也可以从一个分支复制修改到另一个分支,最终,可以让本地工作拷贝反映到不同的分支上,所有在日常的工作中,可以“混合和比较”不同的开发线。,客户端安装 版本库基本操作 客户端操作 合并与分支,主要内容,客户端操作,图标解析,客户端操作,一个新检出的工作副本使用绿色的对勾做重载。表示subversion状态正常.,在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。,如果在提交的过程中出现了冲突图标变成黄色感叹号。,如果你给一个文件设置了svn:needs-lock属性,subversion会让此文件只读,直到你获得文件锁。只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。,如果你拥有了一个文件的锁,并且subversion状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。,这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。,加号告诉你有一个文件或是目录已经被计划加入版本控制。,菜单说明 所有tortoisesvn命令都集成在windows的资源管理器的菜单中。当你在一个文件或文件夹单击鼠标右键时,大多数命令都会直接显示出来。哪些菜单显示出来,依赖于文件或文件夹是否处于版本控制之下 svn 检出 从版本库中取出一个工作拷贝到本地。本地目录产生.svn隐藏文件夹,里边保存服务器以及本地很多相关信息,可以与服务器进行数据交互。 方法一:从版本库浏览器中执行检出(checkout)就能得到工作拷贝。 方法二:在将要存放工作目录拷贝的地方(例如:在d盘创建工作目录了d:/工作空间/svn ),右键弹出快捷菜单,选择检出checkout.,将出现对话框:(如果该目录已在版本控制下,则没有取出而是更新(update)和提交(commit),客户端操作,客户端操作,检出成功后,在本地工作拷贝空白处点击右键会出现下图所示:,客户端操作,svn更新 将别人的改动更新到你的工作拷贝,即从版本库中更新到本地拷贝。 有时你想将他人的改动合并到你本地的工作拷贝。从服务器上取改动到本地的过程叫更新updating。 更新也许是单个文件、或选择的一组文件、或整个目录。在资源浏览器中选择待更新的文件或目录, 右键并选择更新update ,他人的修改将合并到你本地的文件中,你所做的改动保存在同一文件中。这时档案库没有受变化,即合并只在本地进行。 注意: 在修改之前要先执行“更新(u)”操作; 在修改完成,提交之前,也要先执行“更新(u)”操作;,svn提交 改动送到版本库这个过程叫提交committing ,即从本地拷贝提交到版本库中。 在送交前需要确认工作拷贝是最新的。用更新updates 或先用检查修改check for updates 检查变更了的文件。如果你的工作拷贝已更新且没有冲突,可用快捷菜单中的提交commit. 完成提交过程。 检查修改 想知道别人修改了哪些文件?用检查修改(check for updates.) 命令。弹出的对话框将显示出你的修改或档案库中别人的修改,这样可在更新前检查是否有冲突。 提交commit 命令也可用来显示本地的修改,如果不想实际提交到版本库,点击取消cancel 即可。,客户端操作,客户端操作,已解决的 有时当你从版本库中更新你的文件时,会有冲突。冲突出现的原因是两个开发人员修改了文件中相同的几行。由于subversion不知道你的项目的具体情况,它把解决冲突的工作留给了开发人员。如图:,客户端操作,这时就要解决冲突,首先要更新你的本地工作拷贝,如图,本地会多出一些以冲突文件名为前缀的其它文件,这些文件可以先不用管,等后面运行已解决的命令后会自动消失。,出现冲突的文件,我修改后的文件,原始文件,别人修改后已提交的文件,解决冲突通常有两种办法,一种直接在文件上改,另一种用tortoisemerge工具。解决冲突要与其它同事写上。 方法一:如下图直接在文件上改,并同时要把冲突部分的标识也删掉。,客户端操作,冲突内容修改前,冲突内容修改后,客户端操作,方法二:使用工具解决冲突:选中第一个文本,右键,在tortoisesvn 中右键,选中编辑冲突,会出现下图所示,这个你可以对出现冲突的文件进行编辑,最终选定你想要的文档,编辑完毕后保存关闭tortoisemerge工具。,别人修改的,我的修改,最终确定的修改,客户端操作,解决完冲突以后运行已解决resolved命令,最后提交即可。 说明:冲突文件里边的冲突部分会以: .r6 表示版本标识,更新至版本 tortoisesvn也允许你将工作拷贝更新到指定版本。用更新至版本update to revision. 命令,在弹出的对话框中输入指定的版本号即可。 我们可以用show log命令查看以前的版本信息,这时会发现填写log信息非常重要。 注意: 如果你更新到指定版本,再送交是将出现out of date 错误!如果你想撤销修改并从以前的版本开始工作,你必须使用从“显示记录”对话框中选择复原自此版本以来的变更revert changes from this revision 命令或使用快捷菜单中的合并merge. 菜单命令。 更新至版本update to revision. 命令允许复原至低版本。比如你的工作目录版本是100,你想复原至版本50-直接填写在复原对话框中填写复原至版本50。通常,不复原单个文件,确实需要,从记录对话框(log)选择储存版本至save revision to. 命令。,客户端操作,改名 在svn右键中选择改名,对文件或文件夹进行了改名,这个文件就从工作副本中删除了,并被标记为删除状态,需要执行提交才会将服务器上的相应文件改名。 删除 如果使用tsvn删除了一个文件或目录,这个文件就已经从工作副本中删除了,并被标记为删除状态。这个文件的父目录将显示为一个“deleted”覆盖图标。要恢复这个文件,只需对他的父目录进行revert操作即可。 还原 如果你对文件进行了变动,还未进行提交,可是文档的标记已经变成了红色感叹号,而你又发现变错了,想返回原来的状态,就使用svn还原(revert)命令,由于没有进行提交操作,这是版本号不会增加。,客户端操作,客户端操作,导出 _ 从版本库中取出文件或目录。用此命令,指定路径,便可导出一个干净的(导出的文件不受svn版本控制,本地不可以与服务器直接进行数据交互,类似于我们常说的下载)目录树,和版本库浏览器中导出是一样的。 添加 当你的工作拷贝出现一个新的文件时,执行此命令可以让这个新的文件添加到服务器端。 开发中新增文件或文件夹,如需要加入到版本控制,选择添加add;如果不想要加入到版本控制,选择加入忽略列表add to ignore list 对于新增的文件或文件夹,还要进行“提交“操作才能正式进入文件库。,客户端操作,切换 把你的工作拷贝切换到另个的url(服务器目录),服务器端目录有所变化,所存储的文件位置发生了变化,那么对你的工作拷贝进行编辑后就会出现提交不上去的情况,这时就要执行切换操作,使你的工作拷贝切换到服务器端对应的目录下面,即可再进行提交。切换操作只限于版本库内的切换。 重新定位 和切换的功能是一样的,不同的是,它实现的是版本库与版本库之间的切换。,客户端操作,重新定位 这是一个极少使用的操作.重定位只能 在版本库路径更改时使用。可能的原因是: 服务器的ip地址已更改。 协议已更改(比如从http:/改为 https:/)。 版本库在服务器的路径已更改。 换种说法,如果你要重定位,只有当你的工作副本仍然还在同一个版本库中定位,但版本库本身已经没有了。 以下情况不支持: 你要移到一个完全不同的版本库。这种情况下,你必须从新的版本库里执行一次干净的检出。 你要在同一个版本库中切换一个分支或目录。这么做你可以用tortoisesvn 切换 如果你使用以上任意一种重定位方式,它将破坏你的工作副本,在你更新、提交等操作时会提示一些令人费解的错误信息。一旦发生这种情况,唯一的办法就是检出最新版本。,客户端操作,创建补丁/应用补丁 如果你对这个文件没有修改的权限,但是迫于形势,你又必须对这个文件进行修改,这时你就可以用创建补丁,然后把你创建的补丁发给对此目录有写权限的工作人员,他执行应用补丁后,你所做的修改就会被提交到服务器上。 具体见帮助文件 创建并应用补丁,客户端安装 版本库基本操作 客户端操作 合并与分支,主要内容,版本控制的特性 版本控制的一个重要特性是能将变更隔离成独立的开发线路。这就是所谓的分支(branch)。分支常用来测试新功能,但又不会因为编译错误或bug干扰开发主线。一旦分支稳定下来,就可以把分支合并(merge)回主线(the trunk)了。 版本控制的另一个特性是标记特殊版本(比如一个可以发布的版本),这样有利于在任何时候重新创建一个特定的build或开发环境。这就是所谓的标记(tagging)。 目录说明 trunk:开发主干线目录。即在开发阶段的代码都提交到该目录上。 branches:分支目录。表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。 tag:基线目录。表示标签存放的目录,即是一个完整的里程碑版本,不允许开发人员修改。,合并与分支,合并与分支,分支 所谓的分支其实就是一个拷贝,把原目录内容拷到 一个新的目录下面,但是,这个拷贝不是真正意义上的拷贝数据,它只是建立了一个已存在目录树的入口,相当于一个硬链接,如果提交一个文件的修改,只有这个文件改变了,其余的文件还是作为原来的文件的链接存在。也就是说,svn里面,分支和标签其实都是“廉价的拷贝”,所以,在执行拷贝命令的时候,花费的时间与空间代价很小。,合并与分支,分支的建立 在本地工作拷贝区点击右键,点击tortoisesvn 分支/标记. ,出现下图,写好地址和日志,点击确认,一个分支就成功建立了。,合并与分支,分支的建立 在版本库浏览器中,选中一个目录后,右键,点击复制到,填好相关地址,也可以建立分支。,合并与分支,合并 合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突

温馨提示

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

最新文档

评论

0/150

提交评论