SVN 基本操作与规程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SVN配置管理基本概述 最特别的是 Subversion 会记录版本库中 的每一次更改,不仅针对文件也包括目录 本身,包括增加、删除和重新组织文件和 目录。 体系结构:采用了B/S与C/S相结合的方 式。 B/S结构:可以通过浏览器访问仓库。 C/S结构:安装TortoiseSVN后访问仓库。
Subversion:是一个开源的版本控制系统,拥有CVS的大 部分特征,并在CVS的基础上有更强的扩展,用来代替 CVS 系统。 TortoiseSVN:SVN的客户端工具,和资源管理器完美集成, 基于TortoiseCVS的代码开发,使用上和TortoiseCVS极为相 似; 此外还有OpenSSL-0.9.8g 和Berkeley DB 4.4.20
工作副本的结构
普通的文件目录 .svn文件夹:管理目录,这个目录里的文件能够帮助 Subversion 识别哪一个文件做过修改,哪一个文件相对于别人的工作已经过期 了。
操作
为了获取一个工作副本,你必须从仓库中做一次取出(checkout) 操作。在资源管理器中选择一个你想要存放工作副本的目录。单击鼠标 右键跳出菜单,选择命令Checkout…
Subversion推荐的版本库布局
trunk,tags,branches三个目录,他们不是必 须的,但其设置贴合SVN功能,在使用中你将 会发现这样设置的好处。 Trunk:最新的代码,相当于CVS中的Head版本 Tags:Subversion使用过程中创建的标签 Branches:保存Subversion的工作分支。
SVN配置管理基本概述
为什么要使用版本控制
是否发生过这样的情况: 当你在修改一个文件时, 其他人也在修改这个文件?而你是否因此丢失过自 己所作的修改呢? 是否曾经保存完一个修改,然后又想把个文件 恢复到修改以前的状态?是否曾经希望能够看到一 个文件以前某个时间点的状态? 是否曾经在项目中发现了一个 BUG,然后想调 查它是什么时候产生的? 你是否在一个团队中工作?
SVN配置管理基本概述
如果上面这些问题中的任何一个回答“是” 的话那么你肯定需要考虑版本控制
TortoiseSVN是Subversion的客户端。Subversion是针对CVS的 不足而开发的版本控制系统。
SVN配置管理基本概述
Subversion相关软件
基于Subversion和TortoiseSVN的版本控制 系统
TortoiseSVN基本操作
TortoiseSVN基本操作
导出Exporting
有时候你也许需要一份没有那些.svn目录的工作 副本,比如要建一个源代码zip压缩包。TortoiseSVN 提供一个导出命令 Export…,可以免除我们自己动 手来操作(做一个副本,然后手动删除所有.svn目 录)。如果你在工作副本中执行这个命令,你可以选 择一个目录用来存放没有.svn目录的干净工作副本。 同样,你也可以指定是导出所有文件还是那些被版本 控制的文件。
TortoiseSVN基本操作
检出checkout
工作副本的概念(Working Copies )
又叫工作拷贝。一个 Subversion 工作副本是你本地机器一个 普通的目录,保存着一些文件,你可以任意的编辑文件,而且如果 是源代码文件,你可以像平常一样编译,你的工作副本是你的私有 工作区,在你明确的做了特定操作之前,Subversion 不会把你的 修改与其他人的合并,也不会把你的修改展示给别人。
演示签出与导出。
TortoiseSVN基本操作
识别重载图标
一个新检出的工作副本使用绿色的对勾做重载。表示 Subversion 状态正常. 在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成 了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次 更新工作副本后被修改过,需要被提交。 如果在更新的过程中出现了冲突,图标会变成黄色感叹号。 如果你给一个文件设置了svn:needs-lock属性,Subversion 会让此 文件只读,直到你获得文件锁。具有这个重载图标的文件来表示你必须 在编辑之前先得到锁。 如果你拥有了一个文件的锁,并且 Subversion 状态是正常,这个重 载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该 文件的修改。 这个图标表示当前文件夹下的某些文件或文件夹已经被调度从版本 控制中删除,或是该文件夹下某个受版本控制的文件丢失了。加号告诉 你有一个文件或目录已经被调度加入版本控制。
通过 WebDAV 协议访问支持 Subversion 的 Apache 服务器。
与 http:// 相似,但是用 SSL 加密。
https://
svn://
通过未认证的 TCP/IP 自定义 协议访问 svnserve 服务器。
通过认证并加密的 TCP/IP 自 定义协议访问 svnserve 服务 器。
SVN基本操作 服务端的安装配置:略 TortoiseSVN的安装
下载安装包: TortoisSVN客户端软件 /sourceforge/tortoisesvn/TortoiseSVN1.4.8.12137-win32-svn-1.4.6.msi /sourceforge/tortoisesvn/LanguagePack1.4.8.12137-win32-zh_CN.exe subclipse插件 /files/documents/906/39522/site-1.2.4.zip
SVN基本操作
SVN的部署、安装和配置
公司的版本库部署情况介绍
服务器配置:DELL2950,2c4g 2×300GB R1, Windows2003,192.168.200.39 软件配置:Subversion1.4.6 + Apache2.0.63 + OpenSSL-0.9.8g + Berkeley DB 4.4.20, 远程可以通过http/https协议和svn协议访问。 优先采用FSFS存储方式,同时支持BSB存储方式
Web浏览器
目前公司的版本库基于Apache服务器运行,可在浏览器中查 看授权过的版本库的信息。
SVN配置管理基本概述
SVN的基本概念
版本库(Repository )
SVN的核心是版本库,版本管理的后台系统,储存所有的 数据,版本库按照文件树形式储存数据-包括文件和目录, 任意数量的客户端可以连接到版本库,读写这些文件。通过 写数据,别人可以 看到这些信息;通 过读数据,可以看 到别人的修改。
TortoiseSVN基本操作
外网访问测试:
TortoiseSVN基本操作 认证:
输入你的用户名和密码。那个复选框可以让 TortoiseSVN保存认证信息在Subversion的默认目录 中:$APPDATA\Subversion\auth。 如果你想让Subversion和TortoiseSVN忘记你的认证 信息,你必须删除相关的文件。 重要信息: 在Windows2000及其以上的系统中,认证信息 被加密保存在注册表中。要删除认证信息,请选择 settings对话框,并且点击Clear Auth Cache按钮。 提示:如果你是使用WindowsNT域的认证方式,那么 在输入用户名时要包括域名,比如: MYDOMAIN/johnd。
SVN基本操作
二OO八年七月
目录
1. SVN配置管理基本概述 1.1 为什么要使用版本控制 1.2 Subversion相关软件 1.3 Βιβλιοθήκη VN的基本概念 2. SVN基本操作
2.1 SVN的部署、安装和配置
2.2 TortoiseSVN基本操作指南 2.2.1 访问版本库(repo-browser) 2.2.2 检出(TortoiseSVN-checkout) 2.2.2 导出(Exporting) 2.2.3 识别重载图标 2.2.4 添加文件(TortoiseSVN-add) 2.2.5 导入数据到仓库(Importing)
SVN基本操作
版本库结构
操作执行人员:配置管理员 Subversion的版本库布局
在你的硬盘上创建一个空的文件夹 在那个文件夹下创建你想要的顶级目录,千万 不要放任何文件进去!因为暂时不明白做什么。通 过在那个文件夹右键,选择TortoiseSVN → 导 入.. 将这个结构导入到版本库中。这将导入临 时文件夹到版本库的根目录形成一个基本的版 本库布局。
SVN配置管理基本概述
Subversion 是怎么做的?
Subversion 缺省使用复制-修改-合并模型,大多数情况下可以 满足你的需求。然而,Subversion 1.2 后还是支持锁定,如果你有 不可合并的文件,或者你只是想实行强制管理策略,Subversion 仍然会提供你需要的特性。
TortoiseSVN基本操作
访问版本库
– 访问方法: Subversion 可以 通过多种方式访 问-本地磁盘访 问,或各种各样 不同的网络协议 ,但一个版本库 地址永远都是一 个 URL,URL 方 案反映了访问方 法。
方案
file:///
访问方法
直接版本库访问(本地磁盘或者 网络磁盘)。
http://
svn+ssh://
TortoiseSVN基本操作
公司目前配置库考虑各种使用场景,支持多种访问方式,支持分布式异 地开发
http(s)://(内)外网IP/svn/可查看所有版本库名称,再选择点击进入。
在外网推荐用http/https协议访问,可穿越防火墙,但速度比svn要慢。
在内网推荐用svn协议访问,速度较快,但外网访问如有防火墙要开 3690端口。 暂未开通svn+ssh访问通道。
SVN基本操作
安装步骤:点击下一步默认安装后重启既可。安装后与windows资源管 理器完美集成,如下图:
SVN基本操作 在服务器端创建版本库
操作执行人员:配置管理员 操作步骤: 1. 在要创建文件仓库的位置(配置管理服务器中)创建目录; 2. 在目录中创建版本库: 命令行方式:svnadmin create C:\SVN\repos\object 使用TortoiseSVN:资源管理器的右键菜单→TortoiseSVN →在此创建版本库。 3.创建用户htpasswd -m c:\SVN\conf\passwd obj1 4.用户授权
SVN配置管理基本概述 版本模型(Versioning Models)
锁定-修改-解锁 方案(The Lock-Modify-Unlock Solution) Visual SourceSafe采用的就是这种模型。
问题: A、锁定可能引起管理问题: 如忘记解锁别人无法使用。 B、锁定造成不必要的串行作业。 C、锁定可引起安全问题。 拷贝-修改-合并 方案(The Copy-Modify-Merge Solution) 在这种模型里,每一个客户读取项目版本库建立一个私有工作 副本—版本库中文件和目录的本地映射。用户并行工作,修改各自 的工作副本,最终,各个私有的复制合并在一起,成为最终的版本。 这种系统通常可以辅助合并操作,如果修改不重叠,TortoiseSVN 可自动合并。修改重叠则引起冲突(conflict)。冲突最终要靠人工 去确定正误。 这种模型好像很混乱,但实际上很好用。解决冲突的时间大大 小于因锁定而等待的时间。解决冲突的最好办法是沟通。
2.2.6 更新(TortoiseSVN-update)
目录
2.2.7 提交(TortoiseSVN-commit)
2.2.8 重命名(TortoiseSVN-rename)
2.2.9 删除(TortoiseSVN-delete) 2.2.10 恢复(TortoiseSVN-Revert ) 2.2.11 TortoiseSVN-冲突 2.2.12 分支和标签 2.3 在Eclipse中使用SVN 2.4 与VSS的比较 2.5 VSS数据到SVN的切换 2.6 简单介绍钩子和镜像 3. 案例和答疑