260 likes | 619 Views
SVN 使用入门. 欧阳军 wshis77@gmail.com 2009-7-9. 内容. SVN 简介 SVN 的版本控制 SVN 基本概念 SVN 实战 基本工作流程 TortoiseSVN 使用 常用链接. SVN 简介. 一个自由,开源的版本控制系统 一个通用系统,不是简单的一个 SCM 系统 以替代 CVS 为目标 可以管理任何类型文件,并且追踪变更 不具有某些和开发紧密结合的特性,如支持某种特定的编程语言,集成构建工具等. SVN 的版本控制.
E N D
SVN使用入门 欧阳军 wshis77@gmail.com 2009-7-9
内容 • SVN简介 • SVN的版本控制 • SVN基本概念 • SVN实战 • 基本工作流程 • TortoiseSVN使用 • 常用链接
SVN简介 一个自由,开源的版本控制系统 一个通用系统,不是简单的一个SCM系统 以替代CVS为目标 可以管理任何类型文件,并且追踪变更 不具有某些和开发紧密结合的特性,如支持某种特定的编程语言,集成构建工具等
SVN的版本控制 Subversion 是一种集中的分享信息的系统,它的核心是版本库,储存所有的数据。 客户端可以连接到版本库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。
版本控制的数据共享模型 • 基础问题: 怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰? • 例如:
锁定修改解锁方案可能导致的问题 • 可能导致管理问题,如长期锁定文件不放 • 导致不必要的顺序开发 • 可能导致死锁
两种模型的选择 • Subversion主要采用拷贝-修改-合并模型,配合锁定-解锁模型管理数据的共享
SVN基本概念 • 工作拷贝(Working Copy) • 工作拷贝是本地机器的一个普通的目录。这个目录的内容是版本库中某个目录的拷贝。工作拷贝是私有工作区,可以任意编辑里面的文件并且发布更改。 • 工作拷贝管理目录。通常,它们都保存在工作拷贝目录及子目录下的.svn目录(隐藏)中,凭借这个目录中保存的信息,Subversion可以识别哪一个文件被修改了,哪一个文件已经过时了,等等。
修订版本(Revision) • 每当一次提交(commit)完成后,版本库的文件系统就进入了一个新的状态,叫做一次修订(Revision),每一次修订都会赋予一个独一无二的版本号,一般是从0开始的递增自然数,一个比一个大。最新的一个修订版本称为HEAD
文件状态 • SVN工作拷贝中一个文件的状态,有下面几种可能 • 未修改,并且版本库也未修改(Up-to-date状态) • 已修改,但是版本库没有修改(Modified状态) • 未修改,但是版本库已经修改 • 已修改,并且版本库也已修改(需要合并) • 可以用svn status命令查看文件状态
SVN实战 • 安装 • svn:下载地址http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 • Tortoisesvn(SVN的图形界面客户端):下载地址http://tortoisesvn.net/downloads
基本命令 • checkout命令从版本库中取出某个目录(的拷贝到本机上某个目录的操作叫做CheckOut,这个操作是工作的基础 • update命令把版本库的修改同步到本地 • 做Update操作时,SVN会打印出受影响文件的状态,有以下几种:A AddedD DeletedU UpdatedC ConflictG Merged
add,delete, mkdir, copy, move命令 • 这几个命令都是在工作拷贝中对文件进行操作 • add:把一个文件加入版本控制 • delete:从版本控制中移除 • move: 移动文件 • copy:拷贝文件 • mkdir:创建目录 • 尽量使用SVN命令来管理文件
基本工作流程 • 更新工作拷贝 • 修改工作拷贝 • 检验修改 • 合并别人的修改 • 提交自己的修改
TortoiseSVN使用 • checkout操作 • TortoiseSVN与集成到了Windows的资源管理的右键菜单中
实例,按图中所示进行checkout操作,账号guest,密码shixun实例,按图中所示进行checkout操作,账号guest,密码shixun
对工作目录修改之后,别忘了提交修改到版本库。和使用命令行操作SVN一样,必须先利用TortoiseSVN进行update操作。
常用链接 • subversion中文站http://www.subversion.org.cn • subversion 中文专题网站http://www.iusesvn.com/ • subversion 官方网站http://subversion.tigris.org/ • tortoisesvn 官方网站http://tortoisesvn.tigris.org/ • tortoisesvn 中文帮助手册http://svndoc.iusesvn.com/tsvn/ • subversion 英文帮助文档svn-book.chm\