首页 SVN操作入门指南

SVN操作入门指南

举报
开通vip

SVN操作入门指南 配置管理工具应用指南 编写 审核 会签 批准 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5...

SVN操作入门指南
配置管理工具应用指南 编写 审核 会签 批准 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 修订记录 类别:A – 增加 M – 修改 D – 删除 日期 版本号 类别 描述 作者 2007-8-27 0.0.1 A 创建 方未 2007-8-30 0.0.2 M 经 PCplayer 指点后修改 方未 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 目 录 1 目的 6 2 适用范围 ........................................................................................................................................................ 6 3 SVN 基础知识 ............................................................................................................................................... 6 3.1 SVN 简介 ............................................................................................................................................... 6 3.2 SVN 的特性 ........................................................................................................................................... 6 3.3 SVN 的架构 ........................................................................................................................................... 7 4 SVN 基本应用 ............................................................................................................................................... 8 4.1 客户端的安装 ........................................................................................................................................ 8 4.1.1 SVN 服务器端登录 ......................................................................................................................... 12 4.1.2 版本库基本操作 .............................................................................................................................. 14 4.1.2.1 Show log 查看日志 .................................................................................................................................... 15 4.1.2.2 Export 导出 ................................................................................................................................................ 16 4.1.2.3 Revision graph 版本树显示 ......................................................................................................................... 16 4.1.2.4 Check out 检出............................................................................................................................................. 16 4.1.2.5 Refresh 刷新............................................................................................................................................... 17 4.1.2.6 Add file(folder) 添加文件(文件夹) ...................................................................................................... 17 4.1.2.7 Delete 删除................................................................................................................................................. 17 4.1.2.8 Rename 对目录或文件进行改名, .......................................................................................................... 17 4.1.2.9 Copy to working copy 把当前目录拷贝到本地工作拷贝 ........................................................................ 17 4.1.2.10 Copy to 拷贝到。。。............................................................................................................................. 19 4.2 客户端操作 .......................................................................................................................................... 19 4.2.1 客户端基本操作 .............................................................................................................................. 19 4.2.2 常用功能介绍 .................................................................................................................................. 23 4.2.2.1 Revert 与返回上一级................................................................................................................................... 23 4.2.2.2 Update to revision 返回到版本 ..................................................................................................................... 23 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 4.2.2.3 Import 导入 ................................................................................................................................................ 23 4.2.2.4 SVN Update 更新......................................................................................................................................... 25 4.2.2.5 Resolved 冲突已解决 ................................................................................................................................ 25 4.2.2.6 Switch 切换 .................................................................................................................................................. 27 4.2.2.7 Relocate 重新定位 ....................................................................................................................................... 27 4.2.2.8 Add 添加 .................................................................................................................................................... 27 4.2.2.9 Create(Apply) patch 创建(应用)补丁............................................................................................... 27 4.3 分支与合并 .......................................................................................................................................... 27 4.3.1 分支的概念 ...................................................................................................................................... 27 4.3.2 分支的建立 ...................................................................................................................................... 28 4.3.3 分支的合并 ...................................................................................................................................... 33 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 1 目的 为了对配置管理工具(Subversion,以下简称为 SVN)应用过程提供指导,特此制订本指南。 2 适用范围 本 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 (指南)适用于 XXXX。 3 SVN 基础知识 3.1 SVN 简介 SVN 是一具开源的版本控制系统。在它的管理下,文件和目录可以超越时空。SVN 将文件存放在中 心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和的修改情况。 这样我们就可以籍此将数据回复到以前的版本,并可以查看的更改细节。也就是说,一旦一个文件被传到 SVN 上面,那么不管对它进行什么操作,SVN 都会有清晰的记录,即使它在 N 天前被删除了,也可以被 找回来。所以。许多人将版本控制系统当作一种神奇的“时间机器”。 3.2 SVN 的特性 ¾ 版本化目录 SVN 实现的“虚拟”版本化文件系统可以跟踪目录树的变更。也就是说,在 SVN 中,文件和目录都 是版本化的。 ¾ 真实的版本历史 由于实现了文件和目录的版本化,SVN 可以记录如文件拷贝和改名这些常见操作带来的版本变更,即 在 SVN 中,对文件或目录都可以进行增加、拷贝和操作,并有版本历史记录。 ¾ 原子提交 一系列相关的更改,要么全部提交到版本库,要么一个也不提交,这样用户就可以将相关的更改组成 一个逻辑整体,防止出现部分修改需另一部分未修改的情况提交到版本库中。 ¾ 版本化的无数据 每一个文件和目录都有自己的一组属性键和它们的值。可以根据需要建立并存储任何键/值。和文件本 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 身的内容一样,属性也在版本控制之下。 ¾ 可选的网络层 SVN 在版本库访问的实现上具有较高的抽象程度,利于人们实现新的网络访问机制。SVN 可以作为 一个扩展模块嵌入到 Apache 之中,这种方式在稳定性和交互性方面有很大的优势,可以直接使用服务器 的成熟技术----认证、授权和传输压缩等。此外,SVN 自身也实现了一个轻型的、可独立运行的服务器软 件。这个服务器使用了一个特定的 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ,这个协议可以轻松用 SSH 封装。我们目前选用的是 SVN 自身的 服务器,即 Svnserver 方式,本文主要是对 Svnserver 方式的使用方法介绍。 ¾ 一致的数据操作 SVN 用一个二进制差算法描述文件和变化,对于文件(可读)和二进行制(不可读)文件其操作方式 是一致的。这两种类型的文件压缩存储在版本库中,而差异信息则在网络上双向传递。 ¾ 高效的分支和标签操作 在 SVN 中,分支与标签操作的开销与工程的大小无关,SVN 的分支和标签操作是一种类似于硬链接 的机制拷贝整个工程。因而这些操作通常只会花费很少且相对固定的时间。 ¾ 可修改性 SVN 没有历史负担,它以一系列优质的共享 C 程序库的方式实现,具有定义良好的 API。这使得 SVN 非常容易维护,和其它语言的互操作性很强。 3.3 SVN 的架构 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 1 SVN 的架构 4 SVN 基本应用 4.1 客户端的安装 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 2 图 3 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 4 图 5 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 6 图 7 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 8 点击“Yes”重启电脑,完成安装。 4.1.1 SVN 服务器端登录 安装完成之后,点击鼠标右键,会出现下图,这就是 SVN 中的基本功能,下面对其做一一介绍。 图 9 ¾ Repo—browser 版本库浏览 这是个版本库的浏览工具,点击它之后,会出现下面的小对话框: 图 10 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 在里面输入你要键接的版本库,输入方法为:svn://服务器 IP/所在版本库名称,如微机监测组的配置 库为:svn://172.14.5.152/微机监测(记得 svn 是小写字母的),点“OK”进入登录界面。如果以前有登 录过,SVN 会自动记录登录历史。登录界面如下: 图 11 输入用户名和密码即可进入所在的版本库。登录帐号由配置管理员分配,客户端不能修改密码(咱们 的论坛上好像有支持修改密码的工具),建议选择“Save authentication”,这样下次不用输入帐号便会 自动登录,且在版本库里面的每一个操作也不用输入帐号来进行验证。登录后的界面如下: h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 12 这是微机监测项目目录示例。 4.1.2 版本库基本操作 项目目录 此目录的当前版本 对此目录作最近操作的人员名称 在此目录做最近一次修改的时间 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 13 4.1.2.1 Show log 查看日志 点击此按扭,会显示当前目录下的所有文件和目录日志的信息。会跳出下面的对话框 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 14 4.1.2.2 Export 导出 用此命令,指定路径,便可导出一个干净的目录树,所谓“干净的”就是导出的文件不受 SVN 的版 本控制。默认的是导出当前版本的目录内容,当然也可以指定你想导出的版本。 4.1.2.3 Revision graph 版本树显示 它可以把对此目录所做的所有操作以图的形式显示出来,并可以记录每一步都进行了什么操作,相当 于“Show log”的一个图解,如下图所示: 图 15 4.1.2.4 Check out 检出 用此命令可以从服务器导出选中的目录到本地工作拷贝(本机),它和 Export 的区别在于,检出的文 件受版本控制,检出后的文件如下图所示: h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 14 4.1.2.5 Refresh 刷新 刷新服务器端目录。 4.1.2.6 Add file(folder) 添加文件(文件夹) 用此命令可以向服务器端目录添加一个本地的文件或文件夹。 4.1.2.7 Delete 删除 对目录或文件都可以进行删除操作,删除后版本号增加,可以通过“show log”找出已经删除的文件。 4.1.2.8 Rename 对目录或文件进行改名, 如果要对文件进行改名,要在服务器端对文件或文件夹用 Rename 命令,改完后在本地工作拷贝执行 “Update”即可。可以在本地用右键,使用 TSVN 的菜单改名,提交后效果一样。 4.1.2.9 Copy to working copy 把当前目录拷贝到本地工作拷贝 这个本地工作拷贝必须是已经受版本控制的文件夹,执行此命令后,当前目录便会在本地工作拷贝显 示预添加的符号。如:把“信息平台”执行 Copy to working copy 到本地工作拷贝的“0 过程记录”中, 就会出现下图,绿色的对号表示此目录是从服务器上“Checkout”出来的受版本控制的本地工作拷贝,蓝 色的加号表示此文件预添加到服务器上。 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 17 这时,在此目录空白处或选中“信息平台”文件夹,右键执行“SVN Commit”命令如下图所示: 图 18 “信息平台”便会成功提交到服务器上“0 过程记录”的目录下面。如下图所示: 不要忘了写日志,以便以后查 看每次的提交都做了什么改动 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 19 4.1.2.10 Copy to 拷贝到。。。 用此命令可以在当前版本库中建立分支(标签/基线),SVN 允许并行的维护文件和目录的分支,各 个分支间互相联系,也可以从一个分支复制修改到另一个分支,最终,可以让本地工作拷贝反映到不同的 分支上,所以在日常的工作中,可以“混合和比较”不同的开发线。分支与合交将在下面的章节中做详细 的介绍。 4.2 客户端操作 4.2.1 客户端基本操作 在本地工作拷贝空白处点击右键会出现如下图所示,下面对此菜单中常用的功能做详细的介绍,一些 不常用的功能,请大家查阅相关资料,在此不做过多介绍。 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 20 所谓的工作拷贝就是执行“checkout”命令从服务器端检出到本地的一个目录,是个人的一个私有工 作区,在此目录下,可以任意的编辑文件,如果是源代码文件,可以像平常一样编译。比如,我们对过程 记录中会议记录中一个文件的日期做修改,被编辑后的文件和它的上一级目录都会显示为: h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 21 这时可以对此文件执行 SVN Commit 提交操作,那么编辑的内容便会提交到服务器上,以便大家共 享你的工作成果。同时,服务器上的本地目录版本就会上升一次: 图 22 这时对改后的版本点击右键,执行“Show log”后,可以显示版本日志,如果想看到本次的改动和原 始的版本有何差别,那么选中当前版本记录,右键执行“show differences”如下图所示: 改之前的版本号 改之后的版本号 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 23 这时它就会显示本次是哪些动作导致了版本的变化,不同格式的文件显示的方式不同,下图所示的是 我们对日期作了修改,它以标注的方式显示: 图 24 还要补充说明的是,在 SVN 上,有三种权限:读、读写、无权限。如果想对你的工作拷贝进行编辑, h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 那么你必须有在这个目录下读写的权限,如果在服务器端此目录下面你无权限或只有读的权限,那么即使 在本地拷贝做了修改,也不能提交到服务器上,也就是说,每个有读权限的人可以看查版本库目录下的内 容(无权限的不能查看),但只能对自己被赋予读写权限的目录做修改。这就保护了你的工作目录不会被 别的人随意改动。 4.2.2 常用功能介绍 4.2.2.1 Revert 与返回上一级 接着上次的例子,如果你对日期做了变动之后,还未进行提交,可是文档的标记已经为红色的叹号, 而这时你又发现变错了,想把文档返回到原来的状态,这时你可以执行 Revert 操作,便可使文档回到原来 的状态,因为你没有执行提交操作,这时服务器上版本库版本号不会增加。 4.2.2.2 Update to revision 返回到版本 但如果是你已经执行了提交操作,这时可以用 Update to revision 命令,在跳出的对话框中选择你想 返回到的版本,那么你的本地工作拷贝便会回到你所选的版本的状态。或者在如上图 23 所示的对话框, 点击最下面的“Save revision to”也可以把原来版本进行存档。 强调一点的是,你的本地工作拷贝可以返回到原来的版本,可是服务器上只会记录你对它进行最后一 次提交的版本,所以服务器端版本不会变化,如果你想把服务器端的文档内容也换为原来的状态,可以用 旧版本文件覆盖新版本文件,然后提交。 4.2.2.3 Import 导入 导入是一种批量向服务器上添加文件的方法,如果你想把本地的文件或文件夹添加到服务器上的某个 目录下面,那么在本地的目录中,在空白处右键 TortoisrSVN—Import,会跳出下面的对话框: h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 点“OK”后就可以把本地的文件或文件夹导入到服务器端所选目录下面,如下图所示: 值得注意的是,本机导入到目标服务器上之后,本机目录并没有改变,也并不是工作拷贝,如果要对 文件再做修改并能提交到服务器上的话,必须先从服务器上把文件“checkout”出来之后,再做修改提交 (即必须先建立本地工作拷贝) 浏览选择服务器端目录 不要忘记写日志 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 4.2.2.4 SVN Update 更新 用此命令可以更新你的工作拷贝,因为每个人都有自己的工作拷贝,在你对项目目录进行操作的同时, 项目组其他人员也在进行编辑并提交的动作,版本库内容随着项目人员的每一次提交做着不同的变化,所 以在每次编辑操作之前,都要对本地工作拷贝执行 Update 的操作,以保证本地工作拷贝与服务器项目版 本库内容保持一致。 4.2.2.5 Resolved 冲突已解决 当两个人同时编辑一个文件,一个人先提交后,另一个人再进行提交的时候就会出现冲突,并提出你 必须先更新你的工作拷贝后才能对这个文件进行修改,如下图所示: 图 25 这时就要解决冲突,首先要更新你的本地工作拷贝,会出现如下图所示: h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 24 这时选中第一个文本,右键,在“TortoiseSVN“中选择“Edit conflicts”会出现如下图所示,这时你 就可以对出现的冲突的文件进行编辑,选定你最终想要的文档。这就是所谓的“Merge”合并操作。在出 现冲突以及应用分支时会经常用到合并的功能。 出现冲突 的文件 我 修 改 后 的文件 原始文件 别 人 修 改 后 已 提 交 的文件 别人的 修改 我 的 修改 最 终 确 定 的修改 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 27 合并完毕后,执行 Resolved,则新的版本就被生成了。 4.2.2.6 Switch 切换 把你的工作拷贝切换到另个的 URL(服务器目录),服务器端目录有所变化,所存储的文件位置发生 了变化,那么对你的工作拷贝进行编辑后就会出现提交不上去的情况,这时就要执行 Switch 操作,使你的 工作拷贝切换到服务器端对应的目录下面,即可再进行提交。Switch 操作只限于版本库内的切换。 4.2.2.7 Relocate 重新定位 它和 Switch 的功能是一样的,不同的是,它实现的是版本库与版本库之间的切换。当服务器地址或版 本库名称发生变化时,可以用些命令来更新你的工作拷贝。 4.2.2.8 Add 添加 当你的工作拷贝出现一个新的文件时,执行此命令可以让这个新的文件添加到服务器端。当然也可以 在服务器端的用“Add file”、“Add folder”来实现文件的添加。 4.2.2.9 Create(Apply) patch 创建(应用)补丁 如果你对这个文件没有修改的权限,但是迫于形势,你又必须对这个文件进行修改,这时你就可以用   Create patch 创建补丁,然后把你创建的补丁发给对此目录有写权限的工作人员,他执行 Apply patch 后,你所做的修改就会被提交到服务器上。 4.3 分支与合并 4.3.1 分支的概念 先用例子来说明下分支的概念: 假定 tc.c 发行版 1.0 已完成。正在继续开发 tc.c,计划在 2 个月后发行 1.1 的版本。不久客户开始抱 怨说代码有些问题,检出了 1.0 的发行版,找到了这个错误(这将会有一个小小的更正)。但是,当前代 码的版本是处在一个不稳的状态,并且在下一个月才能有希望稳定下来。这样就没有办法基于最新代码去 发行一个修复错误的版本。 这种情况下就可以去创建一个分支(branch),分支所有文件是构建于 tc 的 1.0 发行版。可以修改这 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 分支而不影响到主干。当修订完成时,你可以选定是否要把它同主干合并或继续保留在这个分支里。 再比如说,如果我们在维护一个项目组的文档,但有一天,另一个项目组也要这份文档,但要有一些 不同的改动,因为他们有不同的需要,这个时候,也可以对这个文档建立一个分支。 因此,分支可以是项目的分支也可以是个人私有的分支。 项目分支:如果两个项目的并发开发是基于同一个原始版本的拷贝,且这两个项目又互不相扰的进行 独立开发,那么这两条开发线对于原来的那个原始版本来说,就是项目分支,而原始版本就是项目主干。 图 28 分支与主干 私有分支:如果多个人共同负责一个模块,当出现两个人同时修改一个文件的情况时,就会不断的出 现冲突,开发人员就要花大量的时间解决这些冲突,而在分支上工作避免了频繁的解决冲突。这种分支也 叫作私有分支,个人可以在主干上建立一个私有分支出来,当开发到一定的阶段以后,可以再对自己分支 与主干进行合并,在与主干进行合并的同时,也能关注到其他人在这一段时间内对主干做的修改。 分支开发完成之后可以根据需要和主干进行合并。 4.3.2 分支的建立 ¾ 从本地工作拷贝到服务器建立,在本地工作拷贝右键选“Branch/Tag”跳出下面的对话在框: h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 29 确定后,名字为“分支测试”的分支便建立了。 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 30 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 31 ¾ 从 URL 到 URL 在服务器端,选中一个目录后,右键点击“copy to”会出现一个对话话框,如下图所示,在里面输 入要建立新分支的地址,分支也可以建立。 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 32 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 图 33 从上图可以看到,“分支测试”和“分支测试 2”里面的内容其实都是微机监测目录的所有内容,也 就是说,所谓的分支其实就是一个拷贝,把原目录内容拷到一个新的目录下面,但是,这个拷贝并不是真 正意义上的拷贝数据,它只是建立了一个已存在目录树的入口,相当于一个硬链接,如果提交一个文件的 修改,只有这个文件改变了,其余的文件还是作为原来的文件的链接存在。也就是说,SVN 里面,分支和 标签其实都是“廉价的拷贝”,所以,在执行拷贝命令的时候,花费的时间与空间代价很小。 4.3.3 分支的合并 上面已经提到了,不管是项目分支还是个人私有分支,在工作了一段时间后都可以根据需要和主干进 行合并,合并的方式有两种为: ¾ 如果是需要将主线的改动合并到分支上,需要在分支的工作副本下进行合并,合并的范围是需要 h t t p : / / w w w . i U s e S V N . c o m 方 未 Q Q: 7 6 1 0 9 4 2 5 z z w a n g j @ 1 2 6 . c o m 初 稿 ,讲 大 家 多 多 指 教 ,如 有 错 误 之 处 请 及 时 和 我 联 系 ,欢 迎 多 提 宝 贵 意 见 !! 配置管理工具 SVN 应用指南 版本号 0.0.1 从主线上上次合并的版本到当前主线上最新的版本,如果主线和分支都修改了相同的文件,合并 后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增 加到当前副本中,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号 ¾ 相反,如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围 是需要从分支上上次合并的版本到当前分支上最新的版本,
本文档为【SVN操作入门指南】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_350222
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:35
分类:互联网
上传时间:2012-03-27
浏览量:29