2023年6月30日发(作者:)
Eclipse3.7环境下SVN的使用
目录
第一章 简介 ............................................................................................................................. 2
第二章 操作指南 ..................................................................................................................... 2
1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
导入项目 .................................................................................................................... 2
配置分支 .................................................................................................................... 7
分支操作 .................................................................................................................. 10
切换操作 .................................................................................................................. 14
提交操作 .................................................................................................................. 15
合并操作 .................................................................................................................. 17
Conflict handing 冲突处理 ..................................................................................... 19
显示资源历史记录 .................................................................................................. 20
更新操作 .................................................................................................................. 21
提示信息 .............................................................................................................. 21
第三章 规范说明 ................................................................................................................... 23
11、
12、
命名规范 .............................................................................................................. 23
使用规范 .............................................................................................................. 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****
根据相关修改进行合并。
8、 显示资源历史记录
合并完成后,查看历史记录
右键点击项目Team显示资源历史记录。
History控制台显示信息:
9、 更新操作
提交文件前,进行必要的更新操作。
右键点击项目Team更新。
10、 提示信息
在合并过程中,可能提示相应信息。
出现以下信息,表明工作副本存在修改,要求在合并前提交或回滚后,在进行后续合并。
出现以下信息,合并前需要更新工作副本。
第三章 规范说明
11、 命名规范
分支命名,采用固定的名称与下划线结合的方式,进行功能性分支描述。
/branch/模块名称_功能的开发起始日期(8位),用于唯一标识功能性分支。
例如:/branch/project_20120726。
标记命名,采用统一的tag_release_发布版本号的方式,进行说明性描述。
12、 使用规范
提交文件前,进行必要的更新操作。
保持原子性的提交,避免回滚。
分支/标记的配置权限,由项目经理或指定人员进行构建规划,避免随意创建。
分支/标记对于SVN来说只是工作副本(Copy),不具有任何意义,目前含义是人为定义的。
标记是存档目录,用于标识版本发布记录及版本信息,不允许修改。
分支是开发目录,用于开发新功能,经过授权的开发人员可以使用。
配置分支/标记中的添加分支功能,只是预创建分支版本、命名、路径等信息,并未实际创建分支环境,需要执行分支操作。
分支环境下进行的新增、修改、删除等操作,在分支环境下必须提交。
主干环境下进行的新增、修改、删除等操作,必须提交。
需要将改动从分支合并到主干,在主干环境下进行合并操作。
需要将改动从主干合并到分支,在分支环境下进行合并操作。
合并的范围是从差异开始版本到最新的版本。在分支环境下从主干合并到分支,合并的范围是主干上的改动;在主干环境下从分支合并到主干,合并的范围是分支上的改动。
例如:从主干合并到分支,合并的范围是从上次主干合并或建立分支的版本到主干最近版本。
例如:从分支合并到主干,合并的范围是从建立分支的版本到分支最新版本。
分支进行其开发任务时,必须定期合并,使分支与主干同步,避免开发任务完成时,产生严重冲突。
合并中产生的冲突时,需要手动对比处理,禁止使用强制合并。
分支/合并等操作时,必须填写注释信息,提交前加注释标签。
例如:Todo: 任务清单
例如:Bugfix:: Bug修复
完成开发任务后,应及时删除分支。后续开发新任务使用新建分支。
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1688078731a77118.html
评论列表(0条)