《SVN的常见使用方法.ppt》由会员分享,可在线阅读,更多相关《SVN的常见使用方法.ppt(29页珍藏版)》请在三一办公上搜索。
1、1,SVN的使用,培训内容,SVN简介SVN基本概念SVN基本操作SVN常见问题处理,SVN简介SVN是什么,SVN=SubversionSubversion 是一个自由/开源的版本控制系统。也就是说 Subversion 管理着随时间改变的数据。,SVN简介SVN与VSS的对比,SVN简介SVN的特性,SVN有如下特性:全局性的版本编号:每一次的修改产生的版本号并不针对某个特定的文件,而是全局性的、针对整个版本库的。因此,我们可以将Subversion 的版本库看作是一个文件系统或文件目录树的数组。这种版本号的好处是无论涉及多少文件操作时,Subversion 不需要对单个文件依次执行拷贝命
2、令,仅仅需要建立一个指向相应的全局版本号的一个指针即可。注:可以把该版本编号,看作是一次对仓库的变更集(changeset)的标识。因为通过该标识,你可以轻易的找出一次变更中有哪些文件或者目录发生了变更等变更信息。,SVN的特性,版本化的目录:Subversion 象记录普通文件的修改历史一样记录对目录的修改历史,当发生文件/目录的移动、重命名或拷贝操作时,Subversion 能够准确记录操作前后的历史联系。同样,象对文件的不同历史版本进行比较一样,Subversion支持对目录的不同历史版本的比较,清晰展现目录的变化历史。原子提交:Subversion 保证每一次提交的所有修改要么全部入库
3、生效,要么一个也不入库,即对版本库不作任何的修改。高效、快捷创建分支和基线:Subversion 的分支和基线是通过执行“拷贝”来建立的,真正的操作是在版本库中创建一个到某一全局版本号的指针(pointer),不再需要针对众多的单个文件依次执行操作;新建立的分支或基线基本不占用版本库空间。,培训内容,SVN简介SVN基本概念SVN基本操作SVN常见问题处理,SVN 概念仓库(Repository),仓库是一个管理单位,每个仓库都有自己的管理员。仓库的创建只能由系统管理员在服务器上完成。仓库不需要共享出来就可以提供访问。,使用版本库的URL来连接版本库,SVN 概念Sandbox,Sandbox
4、就是SVN的本地工作区通过checkout建立本地SandboxSVN用户的几乎所有操作都是在Sandbox下进行的。Sandbox每个文件夹下面都有一个.SVN的隐藏目录,存放SVNROOT信息,该目录的信息等,SVN 概念Checkout、Commit,Checkout中文名称:导出。指将仓库中的目录导出到本地的工作目录下,然后我们可以在SVN客户端工具的管理下进行工作。Commit中文名称:提交。我们在本地的工作目录下,对工程中的文件进行修改,这些修改,需要提交给SVN仓库,这个过程,就叫Commit。你可以Commit一个文件,也可以Commit整个目录。,SVN目录结构说明,创建完的
5、SVN配置库一般有以下几个目录TrunkTagBranch一般的配置库操作需要在Trunk下进行,分支版本在Branch中获取,标签操作的版本在Tag目录下,培训内容,SVN简介SVN基本概念SVN基本操作SVN常见问题处理,SVN功能的简单介绍check out&export,Check out:检出服务器上的配置库;Export:这个功能是方便我们部署用。当我们需要发布一个稳定版本时,就可以使用这个功能将整个工程导出到某个文件夹,新的文件夹将不会包含任何版本信息了。,Check out,export,SVN功能的简单介绍update,Update:服务器是最新版本更新下来。(配置库在本地已
6、有工作拷贝),SVN功能的简单介绍commit,Commit:把自己工作拷贝所做的修改提交到版本库中。,SVN功能的简单介绍delete,Delete:SVN支持文件删除,而且操作简单,方便,选择要删除的文件,点击Delete,再把删除操作提交到服务器,SVN功能的简单介绍show log,Show log:显示当前文件(夹)的所有修改历史。SVN支持文件以及文件夹独立的版本追溯。,SVN修改Get lock,对文件或者目录进行SVN Get lock 进行文件锁定。类似于VSS的checkout,执行了锁定命令后会弹出如右图的窗口,提示哪些文件正准备进行锁定,OK后即开始进行锁定操作。,如果
7、该文件有其他人已经进行锁定,再锁定操作后会提示如右图错误,通知对方进行检入操作或者release lock操作后方可操作。而当另外一DE更新下来的文件是锁定状态,其文件状态为只读,只有当解锁后,重新锁定,这个过程才可将文件更改为可写建议“无法灵活的合并”的文档采用SVN的“锁定-编辑-解锁”模型,如果要进行解锁的文件不是服务器上最新版本,系统会报以下错误并提示是否需要进行update,点yes后自动更新到最新版本,并且进行解锁操作,SVN修改Get lock,添加(Add),如何把新的文件置于SVN管理,在需要添加文件上选中右键菜单TortoiseSVN中的ADD选择需要添加的文件,OK即可将
8、文件变成待添加状态所有的ADD都需要(包括目录)进行commit操作后才能生效。Commit操作同前ADD操作是可以递归进行添加的,重命名(Rename),SVN中可以使用SVN的rename命令进行文件或者目录的重命名。在Rename后需要进行commit生效,SVN回滚,打开文件或者目录的show log页面选中历史版本,使用Revert to this Revision进行回滚需要commit使回滚生效?选中想要恢复的版本。如果想要恢复一个版本范围,选中想要恢复的第一个版本,按住shift键,然后选中想要恢复的最后一个版本。注意,当恢复多个版本的时候,这些版本必须在列表中是连续的。用鼠标
9、右键点击选中的版本(段),然后选择右键菜单 恢复这些版本的变更。如果想要把以前的某个版本变成最新版本,右键点击选中的版本(范围),然后选择右键菜单 Revert to this revision。就能够撤销被选中版本后面所有的变更。,SVN还原(Revert&Moving),还原操作:如刚才对文件做了删除操作,现在把它还原回来,点击删除后,再点击提交,会出现如上的提示框,点击删除后,再点击Revert,即已撤销删除操作,如果这时候点击提交,则系统弹出提示框:没有文件被修改或增加,不能提交 移动操作:选择待移动的文件和文件夹;按住右键拖动right-drag文件(夹)到跟踪拷贝内的新地方;松开左
10、键;在弹出菜单中选择movefilesinSubversiontohere,Repo-browser 浏览版本库Check for modifications 检查出所有修改过的文件的信息Revision graph 图形化的版本显示,SVN相关图标含义,正常的目录或者文件,出现冲突的文件或者目录,有过修改的文件或者目录下的文件有修改,只读的文件(需要获取锁定才能转成可修改文件),待添加的文件或者目录,待删除的文件或者目录,忽略的文件或者目录,培训内容,SVN简介SVN基本概念SVN基本操作SVN常见问题处理,SVN-冲突处理,当你Update出现了冲突时,Subversion会产生三个文件F
11、ilename.mine 文件名.ext.mine-最新修改Filename.rOLDREV 文件名.ext.r旧版本-基础版本(BASErevision)文件Filename.rNEWREV 文件名.ext.r新版本-版本库中的最新版本有冲突的区域用如下的方式标记:版本三种方式解决:-手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行svnresolvedfilename来解除冲突,最后提交。-放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行svnresolvedfilename并提交。-放弃自己的更新,使用svnrevert,然后提交。在这种方式下不需要使用svnresolved。对于svnresolved命令需要非常小心,必须是非常确定冲突已经解决才能使用。否则,会导致Subversion以为冲突解决,而使代码库不正确。(通过TortoiseSVN编辑冲突运行外部合并工具/冲突编辑器,或者你可以使用任何别的编辑器手动解决冲突。),谢谢!,变更记录,