版本控制管理工具

  • 格式:ppt
  • 大小:319.50 KB
  • 文档页数:53

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
码 ✓ 该文件记录了SVN数据库授权用户的登录名和密码。 ✓ [users]标签下定义了用户名和密码。等号前面的
是用户名,后面的是密码。
25
6.1.2 SVN权限管理
3. Authz:定义了SVN数据库中各目录结构的权限, 以及用户组的信息。
✓ [groups]标签下定义了用户组,前面加@用于区 分用户名。用户组等号后面是成员列表,用逗号
理的策略
✓ auth-access:定义授权用户访问SVN数据库时的权限管 理的策略
✓ password-db:定义SVN数据库安全策略所用的password 文件的路径
✓ authz-db:定义SVN数据库安全策略所用的authz文件的 路径
24
6.1.2 SVN权限管理 2. passwd:定义了访问SVN数据库的用户名和密
本章内容
4
6.1 SubVersion
SubVersion简称SVN,是一个非常强大的文档版本 管理工具,具有和VSS、CVS基本相同的功能。
SVN用于文档版本管理最为合适,因为它的使用方 法非常接近于用户日常使用文件夹来管理文档的 习惯。
不过SVN没有图形化界面,需要使用控制台程序来 运行。
CVS的地位☺。
10
CVS和Subversion的比较
版本号管理方式
运行方式
传输协议 对目录的版本管理 文件改名 事务性提交
Subversion 所有文件使用同一版本号 多种运行方式: 1.作为操作系统的Demon(如 Window Service)独立运行; 2.作为开源Web服务器Apache的 Web DAV运行; file:///,http://,https://, svn://,svn+ssh:// 对目录也同样进行版本管理
隔开。
✓ []定义文档目录的路径。如[/]代表根目录
✓ 定义用户对目录的访问权限。
例如:[/Myproject]
Jim=r
表示Jim可以读该目录
Jack=‘ ’ 表示Jack不可以访问该目录
26
6.1 SubVersion 6.2 TortoiseSVN
本章内容
27
6.2 TortoiseSVN
据库然后再进行其他操作。 ✓ 该命令就是启动SVN数据库的重要指令,有很多参
数可以使用,输入-help指令可以查看其参数列 表。
例如:svnserve –help svnserve–d –r g:\svnrep
//启动g盘上的名为“svnrep”的SVN数据库
21
22
6.1.2 SVN权限管理 1. svnserve.conf:定义了SVN权限管理的策略 2. passwd:定义了访问SVN数据库的用户名和密
主要操作:
在服务器端创建文件仓库 从SVN文件库中取出代码 把本地文件添加到文件仓库中 从SVN中删除文件 文件/目录改名 提交修改后的文件 更新本地文件 比较不同版本的文件 创建标签 创建分支 查看版本分支图
18
6.1.1 SVN常用指令 6.1.2 SVN权限管理
6.1 SubVersion
30
TortoiseSVN常用功能
1)Create repository ✓ 该功能代替SubVersion的SVNServe指令来创建
一个SVN数据库。 ✓ SVN提供2种数据库类型用于存放文档。一种是
效率更高的FSFS类型,另一种是较老但更稳定 的Berkeley Database(BDB)作为版本数据库的 后台。
在SVN控制下的每一层目录中都有一个隐藏的文 件夹。
当用户在客户端SVN文件夹中对文档进行变更, 这些变更信息首先存放在这个隐藏文件夹里。只 有当用户执行Commit操作时,才从隐藏文件夹里 读取文档变更的信息,并更新SVN服务器端的数 据。
29
TortoiseSVN使用的不同文件状态的图标
在本地新建文件 将本地文件添加到SVN数据库(未提交) 处于正常状态的文件 处于修改状态的文件 被锁定的文件
19
6.1.1 SVN常用指令
1. SVNAdmin create ✓ 根据公司实际需要并按照软件配置管理计划,创
建所需要的SVN文档数据库。比如:SVN开发库和 SVN基线库等。 例如:svnadmin create d:\myrepository
20
6.1.1 SVN常用指令
2. SVNserve ✓ 当用户创建SVN文档数据库以后,应该先启动该数
9
什么是Subversion?
Subversion是一个开源的版本控制系统,拥有 CVS的大部分特征,并在CVS的基础上有更强的 扩展,用来代替 CVS 系统。
Subversion的历史 单词“Subversion”的意义
字面上的意义:Sub + Version,标识Subversion是一个版本控制系统。 英语中有Subversion这个单词,意思是“颠覆” :Subversion要颠覆
8
版本控制的方式
两种典型的方式:Lock-Modify-Unlock方式和 Copy-Modify-Merge方式,分别以Visual Source Safe和CVS为代表
Lock-Modify-Unlock方式:一个文件同一时刻只 能有一个人进行修改,可防止冲突,但不利于合 作开发;
Copy-Modify-Merge方式:可以多人同时修改一 个文件,会有冲突的情况,更强调开发人员的交 流,对于合作开发比较合适;
31
2)Import 初始化导入数据
TortoiseSVN常用功能
✓ 在你要导入到SVN数据库的文件夹内右键点击 【TortoiseSVN->Import】,URL of repository 输入相应的SVN数据库地址,点击OK
✓ 完成之后目录没有任何变化,如果没有报错,数 据就已经全部导入到了我们刚才定义的数据库中 。
行如下命令运行Subversion: svnserve -d -r D:\SVNStore;
可以使用第三方的工具将Subversion添加为Windows的 Service(参见http://clanlib.org/~mbn/svnservice/); 方式二:将Subversion添加为Apache的Web DAV运行; 这种方式对于Subversion的控制和管理比较方便,但是 配置相对比较麻烦。 建议:个人使用或者对权限控制等要求不高时以独立服 务的方式使用Subversion,当团队开发时使用Web DAV 的方式使用Subversion。
的 支持文件复制、重命名 事务性的提交 高效的分支和标记 扩展能力:Subversion提供了一组API,可以供其
他语言直接调用。
12
使用上的主要不同
Subversion的版本号是所有文件共用一个版本号, 每一个个文件的改变都会导致总体版本号发生改 变;
Subversion的分支/标签都以文件夹的方式显示, 而不象CVS只是一个独立的标签;
当作为Apache的Web DAV使用时,Subversion 使用Http协议传输,可以直接在Web浏览器中浏 览;
13
Windows平台Subversion 服务器端的安装配置
1. 安装程序从http://subversion.tigris.org获取; 2. 在Windows平台直接执行安装程序进行安装; 3. 两种安装方式: 方式一:类似CVS,作为独立服务运行,安装完成后运
使用上和TortoiseCVS极为相似; AnkhSVN:和Visual Studio集成,可以在Visual Studio中使用
Subversion,仍处于开发过程中,最新版本0.60 Beta;功能尚不完善。
Web浏览器:ViewCVS/ WebSVN等,网络程序,可在浏览器中查
看SVN信息;
主要功能:记录开发过程的每一次修改,让开发 工作可以随时检查过往的历史和获取正确的版本; 是系统的“成长记录”。
7
为什么要使用版本控制?
在协同开发过程中,确保能够:
保存所有更改的记录,防止改动丢失 能够快速回复到特定版本的状态 能够获取其他成员的更改
在单独开发时,上述的前两点对于自己的开发过 程管理也有莫大的好处。
14
Subversion客户端 TortoiseSVN的安装和设置
获取安装文件 从http://tortoisesvn.tigris.net下载; 安装
直接安装,安装完成后会自动集成在资源管理器的右键菜单中; 注意事项:安装时“ASP_HACK”的选择,如果做ASP.Net开
发,安装时一定要选择该项。
5
6.1 SubVersion
SubVersion和VSS一样,都是在客户端机器上存放 一套副本文件供用户使用,用户直接修改本地的 副本文件,然后再将其更新到SVN数据库。
当多个文件分批次修改后,这些修改的信息并未 影响SVN数据库,只相当于“预提交”,只有进行 【Commit】操作后,才把这些文件一起“正式提 交”SVN数据库。
第6讲 版本控制管理工具(1)
本章目标
学习SVN常用指令 理解SubVersion权限管理所使用的3个文件 了解TortoiseSVN通过不同的图标识别文件的版
本状态 掌握TortoiseSVN菜单的常用功能
2
6.1 SubVersion 6.2 TortoiseSVN
本章内容
3
6.1 SubVersion 6.2 TortoiseSVN
TortoiseSVN是配合SVN使用的客户端工具。它的 工作方式和日常使用文件夹保存文档的习惯相同。
TortoiseSVN实现了SVN的全部指令,弥补了SVN缺 少图形化操作界面的不足。
SVN(Subversion)简易入门教程.doc
28
6.2 TortoiseSVN
建立SVN数据库以后,在客户端需要使用SVN Checkout命令检出。
16
Subversion的基本概念
Repository(文件仓库) Workcopy(工作复本) Checkout(取出) Commit(提交) Update(更新) Revision(修订版本) Tag(标签) Branch(分支) Conflict(冲突)
17
Subversion的基本操作
【Export】可以把SVN数据库里的数据导入到指定的目录里。
32
TortoiseSVN常用功能
3)SVN Checkout 将本地目录与SVN数据库对应目录关联起来。并且 更新SVN数据库中的文档到本地目录。
✓ 用户第一次连接SVN数据库时需要使用该功能。
SVN使用SVN://或SVN+SSH://协议,也支持 HTTP://协议。本地访问支持file:///。
6
来自百度文库么是版本控制?
版本控制就是对在软件开发过程中所创建的配置 对象的不同版本进行管理,保证任何时候都能取 到正确的版本以及版本的组合。——摘自贝尔实验室《配
置管理的精髓》
版本控制(Version Control)是软件配置管理中 的重要一环
支持

CVS 每个文件有单独的版本号
作为操作系统的Demon(如 Window Service)独立运 行
参见CVSRoot的定义
无 需要删除原文件,重新添 加改名后的文件,改名后 原文件的修改历史丢失。 否
11
Subversion与CVS相比改进的地方
统一的文件版本 目录控制:在Subversion中目录的变更也是受控
码 3. Authz:定义了SVN数据库中各目录结构的权限,
以及用户组的信息。
23
6.1.2 SVN权限管理
1. svnserve.conf:定义了SVN权限管理的策略
✓ #:注释作用
1)none:定义用户不可以访问数据库; 2)write:定义用户对数据库文件具有读写权限;
✓ anon-access:定3)义re匿ad名:定用义户用访户对问数S据VN库数文据件只库有时读的权限权限管
设置 主要设置: 1. 语言 2. 全局忽略模式 3. 差异查看工具和合并工具 4. 文件叠加图标 5. 右键菜单(外观样式)
15
Subversion相关软件
服务器端:支持多种操作系统 客户端:
Subversion命令行程序 RapidSVN:独立的Windows程序,最新版本0.92,仍处于Beta阶段; TortoiseSVN:和资源管理器完美集成,基于TortoiseCVS的代码开发,