SVN工具介绍(开发人员)配置管理培训.ppt

上传人:仙人指路1688 文档编号:2205423 上传时间:2023-01-30 格式:PPT 页数:60 大小:6.88MB
返回 下载 相关 举报
SVN工具介绍(开发人员)配置管理培训.ppt_第1页
第1页 / 共60页
SVN工具介绍(开发人员)配置管理培训.ppt_第2页
第2页 / 共60页
SVN工具介绍(开发人员)配置管理培训.ppt_第3页
第3页 / 共60页
SVN工具介绍(开发人员)配置管理培训.ppt_第4页
第4页 / 共60页
SVN工具介绍(开发人员)配置管理培训.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《SVN工具介绍(开发人员)配置管理培训.ppt》由会员分享,可在线阅读,更多相关《SVN工具介绍(开发人员)配置管理培训.ppt(60页珍藏版)》请在三一办公上搜索。

1、SVN工具介绍,工程技术中心软件质控部,TortoiseSVN的安装TortoiseSVN最常用的四个命令TortoiseSVN实用功能TortoiseSVN其他功能SVN开发模式SVN的特色SVN案例分析,主要内容,TortoiseSVN 安装版本的选择,TortoiseSVN安装,目前公司常用的三个版本:V1.4.8、V1.5.3、V1.6.6。三个版本大致功能类似,没有很大的变化。通过一段时间使用发现V1.4.8相比V1.5.3更为稳定,而且目录过深时,V1.5.3不能检出(该版本的 bug),而V1.4.8可以。但V1.5.3作为V1.4.8的升级版本操作更方便,功能更完善。最新版本V

2、1.6.6,修改了V1.5.3深目录不能检出的bug,操作也更为方便,功能更加全面,目前正准备推广使用。,V1.4.8浏览版本库界面,V1.6.6版本浏览版本库界面,V1.5.3类似,TortoiseSVN安装,TortoiseSVN安装 乌龟安装时无需特殊配置,直接安装即可。安装成功后,在桌面上右键,即可看到下图:,SVN特色,建议:升级TortoiseSVN时,先卸载先前的安装版本,再重新安装新版本!,TortoiseSVN安装,中文版安装 若需安装中文版,则需再安装中文语言包,并在setting中将语言设置为中文,如下图所示:,TortoiseSVN最常用的四个命令,最常用的四个命令1.

3、Repo-browser(浏览版本库)通过“浏览版本库”可以直接查看服务器上指定目录下的所有目录结构(需要有相关权限),包括特定版本的作者,提交时间等,并且在浏览版本库里面链接了很多SVN常用的功能。如显示日志,检出,导出,检入文件/文件夹,改名,删除文件,分支建立等。2.Checkout(检出)从SVN服务器上得到数据,即建立本地副本,并且修改后可以commit到SVN服务器上。相对于CC来说,SVN的checkout可以说完成了建立本地视图和checkout两个动作。checkout命令可以在本地计算机上,浏览版本库,显示日志等多个地方找到。3.Update(更新)更新本地副本,得到SVN

4、服务器上最新的数据。一般check out建立本地副本后,都在该本地副本上修改提交,若想再次得到服务器上的最新版本,即需用Update。在修改之前,一般我们都需要执行Update动作,以保证在最新版本上做修改,以减少提交时冲突。特别是用锁定的模式开发,修改前必须先更新并获得锁后才能修改(后面会具体描述)提交。4.Commit(提交)提交修改到SVN服务器上。所有需提交到SVN服务器上本地副本的修改都需要用Commit命令完成。,TortoiseSVN最常用的四个命令,Repo-browser(浏览版本库),TortoiseSVN最常用的四个命令,TortoiseSVN最常用的四个命令,Upda

5、te(更新)选中需要更新的本地副本,按右键,选择SVN Update即可得到服务器上最新的版本。若本地上有修改,更新时经常会出现冲突(黄色感叹号),此时表明您本地副本的修改和服务器上的最新版本有冲突,需要您解决冲突后才能提交你的修改(解决冲突方法后面具体叙述)。故为了减少冲突的产生,我们很有必要在修改前进行更新,等到服务器上最新的版本。,update,TortoiseSVN最常用的四个命令,Checkout(检出)本地计算机上:1.在本地计算机上按右键选择 SVN Checkout命令 2.填入/选择需检出URL,选择目标检出目录,根据需要选择检出深度和版本,OK即可。,服务器检出地址,检出深

6、度选择,检出后本地副本显示为绿色的勾勾!,版本选择,TortoiseSVN最常用的四个命令,Checkout(检出)浏览版本库中:1.进入浏览版本库,选中需检出的目录文件夹,选择checkout。2.出现检出对话框,选择检出目标位置和检出深度等OK即可。,TortoiseSVN最常用的四个命令,Checkout(检出)显示日志里:选择show log命令,进入显示日志界面,选择需检出的版本,按右键选checkout,检出对应版本的文件资料。,TortoiseSVN最常用的四个命令,Commit(提交)1.选中已修改的本地副本(红色感叹号),按右键,选择SVN Commit命令 2.在对话框中填

7、写日志(描述修改的内容,注意点等),选择需要提交的文件,点OK即可。,提交后红色的感叹号变成了绿色的勾勾!,日志必须填写哦!,待提交文件列表,可以选择是否提交,TortoiseSVN实用功能,实用功能之一-还原1.本地副本还原(Revert)放弃本地副本的修改,将其还原到本地修改前的版本(最后提交或者更新的版本)2.还原至某一历史版本(Revert to this revision)将本地副本复原到选中的某一个历史版本,若需将该复原版本提交到服务器上,则还需Commit!3.还原某一历史版本的修改(Revert changes from this revision)放弃某一历史版本的修改。该动

8、作只还原某一个特定版本的修改,并不还原该版本之前所有版本的修改,若需将该复原版本提交到服务器上,则还需Commit!,TortoiseSVN实用功能,本地副本还原(Revert)选择需还原的本地副本,按右键,选“Revert”,在弹出的对话框中选择需还原的文件,OK即可。,可以选择是否还原?,还原后,红色感叹号消失,变成绿色勾勾!,TortoiseSVN实用功能,还原至某一历史版本(Revert to this revision)1.选中本地副本,进入显示日志对话框。选择还原版本,按右键,选择“Revert to this revision”,即出现如下还原对话框,OK即可。2.还原后,有修改

9、则本地副本即变为红色感叹号,若需提交到服务器上,还需commit!,TortoiseSVN实用功能,还原某一历史版本的修改(Revert changes from this revision)操作同“Revert to this revision”。,实用功能之二-查询功能 1.显示日志(show log)日志查询功能主要作用是:查找历史版本信息,用于追溯。日志信息里包含了所有历史版本的5个W,who.when.where.what.why!同时“显示日志”命令充当了其他多个重要功能的接口,如“比较版本差异”,“更新至此版本”,“复原至此版本”等。“显示日志”命令位于多个对话框中,可以说无孔不

10、入,即表明其实用性和重要性了!2.更新版本(Update to revision/update item to revision)更新版本可以使本地副本更新到任意一个历史版本,方便用户详细查看某一版本的具体内容。,TortoiseSVN实用功能,TortoiseSVN实用功能,显示日志(show log)在任意有“show log”命令的地方,点击“show log”,即可显示如下图。,“日志显示”筛选条件,其他功能的接口,TortoiseSVN实用功能,更新版本(Update to revision)选择Update to revision命令,填入版本号/通过show log选择版本,OK

11、即可,此时本地副本显示的即为你选择的版本内容。,更新深度,更新后本地副本仅作为显示某一版本内容,不能复原为该版本,与复原命令不同!,TortoiseSVN实用功能,更新版本(update item to revision),TortoiseSVN实用功能,实用功能之三-比较功能 SVN提供了多个实现比较功能的命令,来满足不同事物的差异比较。1.检查更新(check for modification)获得本地副本所做的修改内容。2.与工作副本比较 获得任何一个历史版本与本地副本的差异。3.比较版本差异(追溯版本,以标准差异文件形式显示修改)获得任何两个历史版本之间的差异。其中:“追溯版本”不仅显

12、示两个版本的差异,同时显示修改作者,时间等信息。“以标准差异文件形式显示修改”:以特定的形式显示差异,显示形式与比较版本差异和追溯版本命令不同。,TortoiseSVN实用功能,检查更新(check for modification)1.选择需检查的本地副本,按右键,选择“检查更新”,即显示修改文件列表。2.若需查看可编辑文件具体的修改内容,选中该文件按右键,选择“与基础版本比较”,确定,即可得到具体的修改内容。,得到本地副本修改的文件列表,与基础版本比较,得到文件内修改的具体内容,TortoiseSVN实用功能,与工作副本比较(Compare with working copy)1.选中本地

13、副本,进入显示日志页面,选择任一版本,按右键,选择“与工作副本比较”,确定即显差异文件列表。2.双击差异文件列表中某一个具体的可编辑文件,即可显示该文件内容的具体差异。,TortoiseSVN实用功能,差异文件列表,服务器上版本,工作副本,比较后的结果,TortoiseSVN实用功能,比较版本差异(compare revision)1.使用CTRL+左键选择任意两版本,按右键,选择“比较版本差异”,出现差异文件列表。2.选择某一可编辑文件,按右键,选择“比较版本差异”,即可得到文件的具体差异。若选择“追溯版本”,则比“比较版本差异”多了时间,作者等信息的显示。,差异文件列表,TortoiseS

14、VN实用功能,比较版本差异,TortoiseSVN实用功能,追溯版本,以标准差异文件形式显示修改,类似,不累述!,与“比较版本差异”比较,多了时间和作者等信息的显示,TortoiseSVN实用功能,实用功能之四-版本分支图(Revision graph)版本分支图主要显示以下内容:1.建立分支和标签的时间和版本 2.文件夹名称的修改 3.最新的版本 4.本地副本的版本 另外鼠标滑过任意版本框,都会显示该版本的日期、作者和备注信息等;选中版本框按右键可以使用另外很多的功能,如显示日志,合并版本等等;还可通过“CTRL+左键”选中两个版本进行比较等。,TortoiseSVN实用功能,版本分支图(R

15、evision graph)进入版本分支图有多种方法,如本地副本、浏览版本库等。直接选择“Revision graph“即可。版本分支图中版本框不同的形状,颜色表示不同的分类。,分支,标签/基线,主干,最新版本,历史版本,日志,SVN其他常用功能,其他常用功能1.增加(Add)/删除(Delete)/改名(Rename)增加:增加未受版本控制的文件到版本控制中。删除:删除服务器上的文件。改名:重新命名文件。Add/Delete/Rename 都可以在本地副本上和浏览版本库中实现 注意:Add/Delete/Rename在本地副本上使用,都仅仅是修改,没有提交的动作,故一般Add/Delete/

16、Rename和Commit一起使用,当 Add/Delete/Rename后,若需要在提交到配置库上,则还需Commit。2.增加到忽略列表(Delete and add to ignore list)很多时候我们不想把部分文件提交到配置库中,但是本地副本想保留,这时可以将文件增加到忽略列表,这样提交时这些文件不提交到配置库。如可以将编译生成的release文件夹加入到忽略列表里面。,SVN其他常用功能,3.导出(Exprot)有时只想需得到配置库的某些资料,但不想受SVN版本控制,此时可以用Exprot。Exprot与check out一样都是从服务器中得到数据资料,但是Exprot的数据资

17、料不受版本的控制,无.SVN文件夹。4.另存为(Save as)对于单个的文件,从服务器上获取不受版本控制的文件可以通过浏览版本库里面的Save as命令实现。5.移动文件/文件夹 有时候我们需要将一个文件/文件夹移动到另一个文件夹下,SVN在本地副本上的文件和文件夹的移动也有特有的命令。6.重新定位(ReLocate)当URL修改(服务器搬迁IP地址修改等),但本地副本还需继续使用,则需重新定位URL,将先前checkout时的URL重新定位为最新的URL。,SVN其他常用功能,增加(Add)本地副本上增加:1.选中需加入版本控制的文件,右键,选择“TortoiseSVN Add”。2.“A

18、dd”后,按右键选择“Commit”命令,Add命令后,文件上显示为蓝色的加号,commit后为绿色的勾勾!,浏览版本库中增加(包含提交):Add Files:增加文件,在对应目录按右键Add Files,填入日志信息,OK即可 Add folder:增加文件夹,在对应目录按右键Add folder,填入日志信息,OK即可,SVN其他常用功能,删除(Delete)本地副本上删除:1.选中需删除的文件,右键,选择“TortoiseSVN Delete”。2.“Delete”后,在上一层目录按右键选择“Commit”命令。,“Delete”的文件消失,文件夹显示为红色的叉叉,上层目录显示红色的感叹

19、号。,“Commit”后删除的文件夹消失,上层目录显示为绿色的勾勾。,浏览版本库里删除(包含提交):选中删除的文件,右键“Delete”,在弹出的对话框中输入日志即可。,SVN其他常用功能,改名(Rename)本地副本上改名:1.选中需改名的文件/文件夹,按右键,选择“TortoiseSVN Rename”2.“Rename”后,在上一层目录按右键选择“Commit”命令,Rename后新增一个改名后的文件/文件夹,若Rename文件则原文件消失,若Rename文件夹则原文件夹变成红色叉叉!,Commit后显示为绿色的勾勾。,浏览版本中改名(包含提交):选中需改名的文件/文件夹,按右键,输入新

20、的名字,OK,在弹出的对话框中输入日志信息即可。,SVN其他常用功能,增加到忽略列表(Delete and add to ignore list)增加到忽略列表后,文件无特殊的标志,并且提交修改时该文件不提交。区别于未受版本控制的文件:未受版本控制的文件显示为“?”,并且在上层目录提交时可以提交到服务器。,SVN其他常用功能,导出(Exprot)导出命令可以在多个位置使用,如本地副本,浏览版本库,显示日志等。操作方法与checkout一致。导出的文件无特殊的标志,即windows文件。,浏览版本库里面使用,SVN其他常用功能,移动文件/文件夹 本地副本上移动:1.选中要移动的文件按住鼠标右键不

21、放,拖动到目标文件夹,放开鼠标,出现如下图选项,选择需要的命令即可 2.在上一层目录上按右键,选择commit,提交到服务器上。,浏览版本中移动(包含提交):选中需移动的文件按左键不放,将文件拖动到目标目录文件夹,在弹出的提交对话框中输入日志,OK即可。,SVN其他常用功能,重新定位(ReLocate)选中本地副本,按右键选择ReLocate命令,将To URL里面修改为最新的URL即可。,SVN开发模式,1.分支与合并 支持并行开发,支持分支与主干之间的合并,即可将主干(分支)上修改完的bug合并到分支(主干)上,但这很可能引起冲突,故要求操作者有解决冲突的能力。建议:尽量少建分支,晚建分支

22、。多建一个分支即表明多一点成本。(不可编辑的文件不可合并)2.锁定与解锁 支持并行开发,但锁定可能导致管理问题,不必要的线性开发,也可能导致错误的安全状态。该模式适用于不可编辑文件的并行开发。注意:使用该模式时,修改者在修改前必须先获得锁,这样才能保证是在最新的文件上做修改,避免冲突的产生。,SVN开发模式,分支和合并(branches/Merge)分支用途 1.软件开发时以主干为基础,实现并行开发,不断将分支上的修改合并到主干上。2.同一软件的发布版本BUG修改和升版的并行开发等。创建分支 命令1:Branches/Tags(工作副本使用)命令2:copy to(浏览版本库使用)命令3:Cr

23、eate branche/tag form this revision(show log使用),SVN开发模式,创建分支后,在未建立分支前checkout的本地副本上查看分支,还需先Update!,分支名,建立分支版本选择,日志填写,以命令1(Branches/Tags)方式举例说明:在本地副本上选择需建立分支的目录,按右键,选择Branches/Tags,在to url中填入分支建立的位置和名称,选择建立分支的版本,填写日志,提交即可。,SVN开发模式,合并(Merge)首先选择合并的种类,合并同一分支的不同版本之间差异,合并一个分支的所有差异,合并不同分支之间差异,SVN开发模式,合并br

24、anches所有的差异到本地副本上,合并举例;选择第二种合并方式,显示如下。选择需合并的分支和合并深度,Merge,最后还需将Merge的修改Commit。注意:Merge过程中很容易出现冲突,出现冲突就需要解决冲突后再提交。,SVN开发模式,冲突 冲突的产生:团队协同工作时,当多人同时修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况。冲突的处理:遇到冲突时,文件显示为黄色的感叹号,这时你需要update该文件,看到新增了三个文件。filename.mine filename.rOLDREV filename.rNEWREV 面对文件冲突,您可以选择以下三种

25、方式解决冲突手动合并冲突文件使用工具解决冲突用revert放弃所做的修改,SVN开发模式,用工具解决冲突,使用自带工具,如图所示对比两个版本的文件,解决冲突工具中会列出两个版本冲突的部分,并让您选择使用哪个版本的内容,SVN开发模式,放弃修改 选择revert 放弃自己所做的修改,SVN开发模式,提交解决结果,通过上面所说的三种方法,解决冲突后。要选择resolved解决后,新增的三个文件会自动删除再选择commit提交到SVN,SVN开发模式,锁定和解锁 获取锁定(Getlock):在加锁原因中加入备注,其他人可以浏览版本库/日志里面看到添加的信息,包括谁,什么时间,为什么锁定等。,获取锁定

26、后,文件上显示一个小锁,SVN开发模式,解除锁定(Release lock):修改完文件并提交后,需及时的解锁,这样其他人才可以获取锁定,既而修改文件。,解除锁定后,小锁消失,文件显示为绿色的勾勾,SVN的特色,SVN特色-图标重载,SVN最直观的功能之一就是图标重载,根据文件的Subversion状态的不同,重载的图标也不同。重载的图标显示在工作副本的文件上,很直观的就可以知道文件目前处于什么状态,是否被修改过,是否已同步到配置库中。,SVN特色,SVN特色-图标重载,SVN特色,不像其他版本控制系统,Subversion的修订号是针对整个版本库的,而不是单个文件。每一个修订号代表了一次提交

27、后版本库整个目录树的特定状态,另一种理解是修订号N代表版本库已经经过了N次提交。当Subversion用户讨论“文件Foo.c的修订号N”时,他们的实际意思是“版本库在修订号N时的Foo.c文件”。需要注意的是,如图:修订号不同并不表示文件内容不同。,SVN特色-全局修订号,SVN特色,这就是传说中的时间机器和时空隧道SVN版本控制系统,我们可以找到过去的任何一个版本的文件!,SVN特色,我们可以比较得到不同版本所做改动的文件列表,也可以得到一个可编辑文件所做的具体改动。,TortoiseSVN的案例分析,1.SVN修订号不连续 原因:SVN修订号是相对于整个配置库的,更新时看到的版本也是整个

28、配置库的修订号,并不是某一个目录的修订号。解决方法:无,SVN特色。2.修改工作副本后,提交时提示“Resource out of date”,提交失败。原因:工作副本不是最新版本,提交失败。解决方法:先更新后再提交,遇冲突时解决冲突后再提交。3.提示400错误 原因:操作者某些操作不准确,引起混乱,可能属于SVN客户端本身的bug 解决方法:暂时无很好的解决方法。4.提示403错误 原因:不能进行该操作。比如URL不对;未开通该目录相关权限;用户名密码不对等。解决方法:检查操作对应的URL是否正确,是否有权限,输入的用户名和密码是否正确等,根据错误解决问题。,TortoiseSVN的案例分析

29、,5.提示需“清理(clean up)”原因:服务器问题,一个SVN指令不能成功地完成,你的工作副本因此被滞留在一个不一致的状态。解决方法:在上一层目录执行清理动作(clean up),若执行不成功,根据错误提示,删除引起不能清理的文件夹,然后update。6.不能正常检出,提示URL过长 原因:目录过深,即URL过长,SVN客户端的bug,目前发现V1.5.3版本存在该问题。解决方法:在上一层目录检出,或许更换SVN客户端安装版本,同时注意建立配置库目录时不易建立过深的目录。7.本地副本不能删除,提示text-base过长 原因:目录过深。解决方法:修改目录的名字,缩短工作副本目录名字。,T

30、ortoiseSVN的案例分析,8.删除/重命名/移动/拷贝文件,提交后,服务器上与预期结果不一致 可能原因:使用WINDOWS删除或者重命名/移动命令进行操作.SVN有专有的Delete/Rename/move/copy命令,对于WINDOWS命令不能识别,使用WINDOWS命令会出现混乱。解决方法:还原到前一版本,重新使用SVN自身Delete/Rename/move/copy命令。9.将所有修改都提交后红色感叹号不消失 原因:页面刷新比较慢。解决方法:刷新页面或者重启电脑。10.使用比较功能时,提示“*is not a valid text file”!原因:不可编辑的文件不能比较具体的

31、内容。解决方法:暂时无。11.能执行历史版本的日志信息修改动作,但是“ok”确定却不成功,提示出错 原因:SVN默认状态下不允许修改日志信息。解决方法:在SVN上服务器上增加 pre-revprop-change hook.但不建议使用,TortoiseSVN的案例分析,12.受版本控制的文件,显示”奇怪的“符号,如灰色的勾勾等 原因:SVN的特色图标重载:处于不同的状态,显示不同的图标。解决方法:可以通过TortoiserSVN-Setting中的Icon Set中查看各个图标表示的状态。13.域帐户密码修改后,SVN的命令不能成功执行 原因:密码错误,先前使用SVN命令时保存了认证信息,所以SVN命令的不能执行成功。解决方法:在桌面上按右键,选择Setting命令,进入Save date,将认证信息这一项clear掉。这样重新执行所需的SVN命令,即会出现让您输入用户名和密码。,SVN工具介绍,thank you,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号