Eclipse3.7环境下SVN的使用
目录
第一章 简介 2
第二章 操作指南 2
1、 导入项目 2
2、 配置分支 7
3、 分支操作 10
4、 切换操作 14
5、 提交操作 15
6、 合并操作 17
7、 Conflict handing 冲突处理 19
8、 显示资源历史记录 20
9、 更新操作 21
10、 提示信息 21
第三章 规范说明 23
11、 命名规范 23
12、 使用规范 23
第一章 简介
分支的意义
先说一个例子,例如:我们在一个基础平台上进行开发,每个小组负责一个子项目,而基础
平台也是有可能会继续更改的,这个时候,如果不创建分支,子项目之间会相互影响,影响最大的就是后期的测试和版本发布,子项目A已经结束,但测试却受到正在进行的子项目B的影响,测试通不过,就别说版本发布了。所以,我们需要从目前的项目(主干trunk)中创建分支(branch),隔离子项目间的相互影响。
分支的原理
创建分支,实际上就是一个版本拷贝,绝不是简单在客户端上copy一个目录,而是svn仓库中copy,文件版本号会增加。同时两边做任何修改发生的版本变化,是一套机制。
例如:目前主干版本是100,分支版本是101,主干中增加一个文件,版本为102,分支中再增加一个文件,版本就为103了。两边的版本号是一套,不会重复。
分支操作
详见第二章分支操作。
第二章 操作指南
1、 导入项目
右键点击空白区,点击ImportImport。
通过SVN资源服务器,从SVN检出项目,点击Next。
根据是否已创建SVN资源服务器环境,选择以下两种方式,点击Next:
⏹ 创建新的资源库位置,针对首次使用SVN资源服务器,或新的SVN资源服务器地址不在使用列表中。
⏹ 使用现有的资源库位置,针对已创建SVN资源服务器在使用列表中。
选择创建新的资源库位置时,在URL中输入项目在SVN资源服务器中地址,点击Next。
选择使用现有的资源库位置时,选择列表中已创建的SVN资源服务器,点击Next。
选择以上两种方式中的任何一种时,显示项目在SVN资源服务器中包含的信息。
⏹ 选择需要导入的内容,点击Next,修改默认细节信息后,导入。
⏹ 点击Finish,使用默认细节信息后,导入。
默认细节信息,包括:
⏹ 检出后项目名称、版本信息等,点击Next。
默认细节信息,包括:
⏹ 检出后存放位置,点击Finish。
显示检出项目信息:
⏹ 勾选Always run in background时,在稍后的操作中默认在后台执行检出操作。
检出完成后,右键点击项目Team显示SVN插件提供的操作。
通过Team中提供的操作,实现提交、更新、历史记录等,如下图所示:
2、 配置分支
配置分支/标记,用于预创建分支,提示分支版本号、分支命名、分支路径等信息。右键点击项目Team配置分支/标记。
添加分支,配置分支/标记中,右键点击项目添加分支OK。
⏹ 此时的添加分支功能,只是预创建分支版本、命名、路径等信息,并未实际创建分支环境,需要执行Team分支操作。
修改分支属性,配置分支/标记中,点击分支项目修改分支信息OK。
应用分支属性,确认修改信息,点击应用OK。
Console控制台信息。
删除分支,配置分支/标记中,点击分支项目确认需要删除的分支信息删除OK。
3、 分支操作
根据预创建分支规划,选择需要创建分支的项目、模块,点击Team分支。
确定分支需要存放的位置,选择以下两种方式:
⏹ 方式1:在URL中,填写存放位置,创建分支后,分支也可以在配置分支/标记中显示。
⏹ 方式2:点击浏览,选择分支中已经预创建的分支。
使用方式1,如下图所示:
⏹ 勾选Create any intermediate folders that are missing时,自动创建URL存放位置中缺失的部分,点击Next。
⏹ 选择分支版本信息。点击Next。
⏹ 添加注释信息。
⏹ 确认分支属性信息,点击OK。
⏹ 同配置分支/标记中修改分支属性。
⏹ Console控制台信息。
4、 切换操作
右键点击项目Team切换。
确定需要切换的分支位置,选择以下两种方式:
⏹ 方式1:在URL中,填写存放位置。
⏹ 方式2:点击浏览分支已经预创建的分支。
⏹ 点击OK。
显示切换项目信息:
⏹ 勾选Always run in background时,在稍后的操作中默认在后台执行检出操作。
切换后,项目路径、名称显示:
5、 提交操作
在分支路径下,增加、修改相应代码。
被修改文件,以及文件所在的目录层次结构,存在标识变化。
右键点击项目Team提交。
添加注释信息。
被提交文件,以及文件所在的目录层次结构,存在标识变化。
6、 合并操作
右键点击项目Team合并。
合并模式,包括以下几种不同的方式:
⏹ 从主干合并到分支
⏹ 从分支合并到主干
以分支合并到主干为例,进行后续步骤描述。
⏹ 在主干环境下合并,选择需要合并的分支环境,点击OKNext,进入下图冲突处理界面。
7、 Conflict handing 冲突处理
分支和主干可能有很多冲突的地方,在合并时经常需要手工解决。
⏹ Text files 文本文件
⏹ Binary files 二进制文件
⏹ Property conflicts 属性冲突
配置冲突处理后,点击Finish,提示合并结果界面。
在本次合并中,修改内容没有产生冲突,若出现冲突时,冲突文件会提示如下信息:
<<<<<<< .working
这里是原来的内容
=======
这里是新的内容
>>>>>>> .merge-right.r****
=======
这里是新的内容
>>>>>>> .merge-right.r****
根据相关修改进行合并。
8、 显示资源历史记录
合并完成后,查看历史记录
⏹ 右键点击项目Team显示资源历史记录。
eclipse导入整个项目 History控制台显示信息:
9、 更新操作
提交文件前,进行必要的更新操作。
⏹ 右键点击项目Team更新。
10、 提示信息
在合并过程中,可能提示相应信息。
⏹ 出现以下信息,表明工作副本存在修改,要求在合并前提交或回滚后,在进行后续合并。
⏹ 出现以下信息,合并前需要更新工作副本。
第三章 规范说明
11、 命名规范
● 分支命名,采用固定的名称与下划线结合的方式,进行功能性分支描述。
⏹ /branch/模块名称_功能的开发起始日期(8位),用于唯一标识功能性分支。
⏹ 例如:/branch/project_20120726。
● 标记命名,采用统一的tag_release_发布版本号的方式,进行说明性描述。
12、 使用规范
● 提交文件前,进行必要的更新操作。
● 保持原子性的提交,避免回滚。
● 分支/标记的配置权限,由项目经理或指定人员进行构建规划,避免随意创建。
● 分支/标记对于SVN来说只是工作副本(Copy),不具有任何意义,目前含义是人为定义的。
● 标记是存档目录,用于标识版本发布记录及版本信息,不允许修改。
● 分支是开发目录,用于开发新功能,经过授权的开发人员可以使用。
● 配置分支/标记中的添加分支功能,只是预创建分支版本、命名、路径等信息,并未实际创建分支环境,需要执行分支操作。
● 分支环境下进行的新增、修改、删除等操作,在分支环境下必须提交。
● 主干环境下进行的新增、修改、删除等操作,必须提交。
● 需要将改动从分支合并到主干,在主干环境下进行合并操作。
● 需要将改动从主干合并到分支,在分支环境下进行合并操作。
● 合并的范围是从差异开始版本到最新的版本。在分支环境下从主干合并到分支,合并的范围是主干上的改动;在主干环境下从分支合并到主干,合并的范围是分支上的改动。
⏹ 例如:从主干合并到分支,合并的范围是从上次主干合并或建立分支的版本到主干最近版本。
⏹ 例如:从分支合并到主干,合并的范围是从建立分支的版本到分支最新版本。
● 分支进行其开发任务时,必须定期合并,使分支与主干同步,避免开发任务完成时,产生严重冲突。
● 合并中产生的冲突时,需要手动对比处理,禁止使用强制合并。
● 分支/合并等操作时,必须填写注释信息,提交前加注释标签。
⏹ 例如:Todo: 任务清单
⏹ 例如:Bugfix:: Bug修复
● 完成开发任务后,应及时删除分支。后续开发新任务使用新建分支。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论