TortoiseSVN与版本控制(精品)

上传人:沈*** 文档编号:244484859 上传时间:2024-10-04 格式:PPT 页数:26 大小:1.76MB
返回 下载 相关 举报
TortoiseSVN与版本控制(精品)_第1页
第1页 / 共26页
TortoiseSVN与版本控制(精品)_第2页
第2页 / 共26页
TortoiseSVN与版本控制(精品)_第3页
第3页 / 共26页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2012-10-16,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2012-10-16,#,TortoiseSVN,与版本控制,什么是版本控制?,2024/10/4,2,版本控制就是对在软件开发过程中所创建的配置对象的不同版本进行管理,保证任何时候都能取到正确的版本以及版本的组合。,摘自贝尔实验室,配置管理的精髓,版本控制(,Version Control,)是软件配置管理中的重要一环。,主要功能:记录开发过程的每一次修改,能追踪工程蓝图从诞生一直到定案的过程,让开发工作可以随时检查过往的历史和获取正确的版本。,版本管理,2024/10/4,3,版本管理也就是对软件产品的管理,主要内容就是使用版本管理软件,对软件产品开发的过程中,一个或多个文件的修订过程进行跟踪,当这些文件组成的产品可以稳定运行时,就称为一个版本。,版本管理不仅可以提高软件产品的稳定性,也可以优化开发人员的工作量。,你有没有遇到以下问题,是否曾经保存完一个修改,然后又想把个文件恢复到修改以前的状态?,是否曾经希望能够看到一个文件以前某个时间点的状态?,当你在修改一个文件时,其他人也在修改这个文件,,,而你是否因此丢失过自己所作的修改呢?,2024/10/4,4,如果这些问题中的任何一个回答“是”的话,那么,Subversion,就是为你准备的!,常用的版本控制工具,2024/10/4,5,VSS(Visual SourceSafe),简单易用、方便高效、与,Windows,操作系统及微软开发工具高度集成,CVS(Concurrent Versions System),是开发源码的并发版本系统,是较流行的面向软件开发人员的源代码版本管理解决方案,可用于各种平台,诞生于,1986,年,SVN(Subversion),CVS,的替代品,保留了,CVS,的基本特性,但是去除了,CVS,的,bug,和不好的特性,SVN,简介,2024/10/4,6,SVN(Subversion),是近年来崛起的版本控制工具,在当前的开源项目里,几乎,95%,以上的项目都用到了,SVN,。,Subversion,项目的初衷是为了替换当年开源社区最为流行的版本控制软件,CVS,,在,CVS,功能的基础上有很多提升,同时也能较好的解决,CVS,系统的一些不足。,SVN,的原理,Subversion,是一个自由的、开放源码的版本控制系统。,Subversion,的中心版本库,类似于一个普通的文件服务器,只是它还可以记录文件和目录曾经做过每一次变更,方便开发人员取得数据以前的版本,从而可以检查所作的更改。从这个方面来看,很多人把它当作一种“时间机器”。,Subversion,的中心版本库可以通过网络来访问,允许不同的用户在不同的计算机上使用,进行协同工作,而且所有操作都是有记录的。,2024/10/4,7,SVN,的作用,代码文档统一存放,便于协作,历史可回溯,组件级版本控制,通过标签建立基线,通过分支支持并行开发,2024/10/4,8,SVN,的特色,目录控制,Subversion,实现了一个“虚拟”的受控文件系统,可以跟踪整个目录变更。,真正的历史版本,Subversion,可实现添加、删除、复制和重命名文件和目录。,原子化提交,一个变更集要么完整地被提交到仓库中,要么不做任何改变,从而避免发生不完整地提交变更的情况,一致的数据处理,Subversion,使用二进制的比较算法来表示文件之间的区别。,2024/10/4,9,SVN,的体系结构,Berkley DB,FSFS,Subversion,Repository,Client Interface,Repository,Interface,GUI,client,apps,Commandline,client apps,Client,Library,Working Copy Management,Library,Repository,access,DAV,SVN,Local,Apache,mod,_,dav,mod_dav_svn,svnserve,Internet,(Any TCP/IP Network),2024/10/4,10,典型的工作流程,svn checkout,获得内容,svn add,svn move,svn delete,svn rename,修改,svn status-u,看看我在本地都修改了哪些?,svn update,更新本地工作副本,(working copy),svn diff,svn resolved,合并,(Merge),你的修改解决冲突,svn commit,提交你的修改,105,100,106,Subversion,仓库,(,Repository,),2024/10/4,11,Subversion,的修订版本号,每次提交产生一个修订版本号(,revision)=,整个仓库的整体版本递增。,原子提交产生的修订版本号(,revision),在每个仓库都是全局唯一的。,Subversion,的修订版编号是针对整个目录树的,而不是某一个独立的文件。,每一个修订本都被赋予一个唯一的自然数,并且每一个修订本的数字都比前一个要大。刚刚建立的仓库的初始的版本是 0,只包含一个空的根目录。,设想一个修订版编号的数列,从 0 开始,从左延伸到右。每一个修订版编号都对应一个画下面的目录树,而每一个目录树就是在每一次提交之后的仓库的快照。,2024/10/4,12,Subversion,的修订版本号,0 1 2 3,2024/10/4,13,Subversion,的修订版本号是针对整个版本库的,而不是单个文件。每一个修订号代表了一次提交后版本库整个目录树的特定状态,另一种解释就是修订号,N,代表版本库已经经过了,N,次提交。比如:当用户讨论“,foo.c,的修订号,5,”时,他们的实际意义是“在修订号,5,时的,foo.c,”。需要注意的是,修订号,N,和,M,并不表示一个文件不同。,Subversion,的访问方式,方案,访问方法,file:/,直接版本库访问(本地磁盘或者网络磁盘)。,http:/,通过 WebDAV 协议访问支持 Subversion 的 Apache 服务器。,https:/,与 http:/相似,但是用 SSL 加密。,svn:/,通过未认证的 TCP/IP 自定义协议访问 svnserve 服务器。,svn+ssh:/,通过认证并加密的 TCP/IP 自定义协议访问 svnserve 服务器。,2024/10/4,14,什么是,TortoiseSVN,TortoiseSVN 是,Subversion,版本控制系统的一个免费开源客户端,。,TortoiseSVN,是,Subversion,的,Windows,扩展。它使你避免接触,Subversion,枯燥而且不方便的,Command Line,。它完全嵌入,Windows Explorer,,使用时只需在正常的窗口里右键操作就可以了。,每个版本控制的文件和目录的状态使用小的重载图标表示,可以让你立刻看出工作副本的状态。,2024/10/4,15,两个简单的术语,2024/10/4,16,版本库,Subversion,使用,集中的数据库,它包含了所有的版本控制文件及其完整历史。这个数据库就是,版本,库。版本库通常位于,运行,Subversion,服务器的文件服务器上,,向,Subversion,客户端,(,例如,TortoiseSVN,),提供需要的数据。如果只备份一个东西,请备份版本库,因为它是你数据的主副本,。,工作,副本,这是实际工作的地方。每一个开发者在自己的电脑上都有属于自己的工作副本。你可以将最新的版本从版本库上取下来,在本地的副本上工作而不影响其他人,如果对更改满意就可以将其提交到版本库中。,TortoiseSVN,图标介绍,2024/10/4,17,TortoiseSVN,图标介绍,2024/10/4,18,一个新检出的工作复本使用如下绿色的对勾重载。表示,Subversion,状态正常。,在,你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作复本后被修改过,需要被提交。,如果在更新的过程中出现了冲突,图标会变成黄色感叹号。,加号告诉你有一个文件或目录已经被调度加入版本控制。,这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本控制中删除,或是该文件夹下某个受版本控制的文件丢失了。,TortoiseSVN,图标介绍,2024/10/4,19,横条告诉你有一个文件或目录被版本控制系统所忽略。这个图标重载是可选的。,这个图标说明文件和目录未被版本控制,但是也没有被忽略。这个图标重载是可选的。,如果你给一个文件设置了,svn:needs-lock,属性,,Subversion,会让此文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须在编辑之前先得到锁。,如果你拥有了一个文件的锁,并且,Subversion,状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。,TortoiseSVN,的基本,操作,SVN,检出(,SVN Checkout,),增加(,Add,),删除(,Delete,),改名(,Rename,),移动(,Move,),SVN,还原(,SVN Revert,),检查更新(,Check for modifications,),SVN,更新(,SVN Update,),SVN,提交(,SVN Commit,),2024/10/4,20,TortoiseSVN,的基本,操作,2024/10/4,21,显示日志(,Show log,),版本库浏览(,Repo-browser,),版本分支图(,Revision graph,),追溯(,Blame,),导入(,Import,),导出(,Export,),获取锁定(,Get lock,),解除锁定(,Release lock,),分支,/,标记(,Branch/tag,),切换(,Switch,),合并(,Merge,),TortoiseSVN,最常用的四个命令,2024/10/4,22,1.Repo-browser(,浏览版本库,),通过“浏览版本库”可以直接查看服务器上指定目录下的,所有目录结构,,包括特定版本的作者,提交时间等,并且在浏览版本库里面链接了很多,SVN,常用的功能。如,显示日志,检出,导出,检入文件,/,文件夹,改名,删除文件,分支建立,等。,2.Checkout,(检出),从,SVN,服务器上得到数据,即建立本地副本。,3.Update,(更新),更新本地副本,得到,SVN,服务器上最新的数据。一般,check out,建立本地副本后,都在该本地副本上修改提交,若想再次得到服务器上的最新版本,即需用,Update,。,在修改之前,一般我们都需要执行,Update,动作,以保证在最新版本上做修改,以减少提交时冲突。,4.Commit,(提交),提交修改到,SVN,服务器上。所有需提交到,SVN,服务器上本地副本的修改都需要用,Commit,命令完成。,TortoiseSVN,实用功能,2024/10/4,23,实用功能之一,-,还原,1.,本地副本还原(,Revert,),放弃本地副本的修改,将其还原到本地修改前的版本(最后提交或者更新的版本),!,2.,还原至某一历史版本(,Revert to this revision,),将本地副本复原到选中的某一个历史版本,若需将该复原版本提交到服务器上,则还需,Commit,!,3.,还原某一历史版本的修改,(,Revert changes from this revision,),放弃某一历史版本的修改。该动作只还原某,一个,特定版本的修改,并不还原该版
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!