RTC入门教程及冲突解决技巧

1 RTC简介

1.1 什么是RTC

IBM Rational Team Concert,是Jazz家族中的一员。它是一个团队合作软件环境,能够实现代码版本管理、项目进度管理及监督产品发布等功能。在前期设计过程中,设定好迭代周期与checkpoint,利用workitem将不同模块关联到开发人员,能够方便快捷地进入开发;开发迭代中进度跟踪和代码版本管理,能够提高中小团队间合作效率;最后能够通过邮件等方式对项目进行审阅。

中文的官网,详细资料自然还是需要翻阅官网。

2 入门使用

2.1 安装

首先,需要有一个RTC的服务器端,目前RTC有公开版本 Express-C,具体应用哪些版本视需求而定。

一篇很好的服务器端安装博客:RationalGroup

而客户端,由于作者的开发都基于Eclipse,只安装RTC的插件即可,不需要下RTC的完整版:RTC-Client,安装完的Eclipse可以在菜单栏的File栏看到如下两项:

RTC入门教程及冲突解决技巧_第1张图片

2.2 基本功能  

安装完毕后需要选择work Item视图:

RTC入门教程及冲突解决技巧_第2张图片

在这个视图下能看到工作区和工作流:

RTC入门教程及冲突解决技巧_第3张图片

点击齿轮按钮,配置下服务器端,并选择项目所在的stream(后续详解),即可以开始开发,开发过程中必要时利用这套工具进行协作即可。

该视图的下方是控制端口,其中的history、pending changes、problems和team advisor都比较有用。其中历史可以看到不同开发者关于一个文件是如何改动的;pending changes后续介绍;problems显示操作失败原因,通常是由于代码有误、未关联work Item

RTC入门教程及冲突解决技巧_第4张图片

主要的操作都在work item视图下完成。

3 RTC代码控制结构

3.1 RTC的代码存储

RTC的代码存储是分成3部分的:Stream、Repository Workspace和Local Workspace。从下图不好找,实际结构没有图示那么混乱。

RTC入门教程及冲突解决技巧_第5张图片

图中需要操作的只是在source control处右击,新建repository,并拉取代码即可。Stream:   存储于服务器,通常一个项目有一个Stream,Stream里可以有不同的Component,比如测试人员可以位于Test Component,而不能得到Develop Component的东西;

Repository Workspace:同样存储于服务器,但是属于某一开发者的,是Stream的镜像,一个开放人员可以有多个Repository,但通常本地的一个项目关联到一个远程的Repository

Local  Workspace:是开发人员的本地存储目录,并与Repository Workspace相关联。

3.2 RTC的代码操作

RTC的代码操作分为3种:check-in,deliver和accept。

RTC入门教程及冲突解决技巧_第6张图片

check-in:将Local代码的改动保存到Repository ,通常可以不定时地check-in,以免忘记保存,check-in实际上会in 到一个pending set,一个pending set即改动集合。在pending set上可以加comment,并关联work Item。可以在上图中右击unsolved进行check-in,也可以在java EE视图,或者其它项目所在视图,右击项目或文件->team->check-in:

RTC入门教程及冲突解决技巧_第7张图片

deliver:是将Repository 的改动提交到Stream,提交前必须accept所有的改动(如果存在)。

accept:接受别人的保存(会提示有未check-in的改动,并询问是否check-in)

3.3 RTC的项目进程管理

work ItemRTC的项目进程管理实际是利用sprint和work Item。最常用的是work Item,work Item本身只是人为设置的任务描述,与代码无关,并可以将任务分配给某个开发员,或者请某人跟踪任务。

对于开发者来说,deliver之前关联到自己的work Item即可:


点击即可加comment,右击->related artifact->associate work item,输入自己的work item号(不行就查找,或者只加comment),即关联到了自己的work Item。

4 冲突解决

4.1 代码同步原则

对于一个多人项目来讲,解决冲突的首要原则是冲突预防。良好的设计,即合理的分工和低耦合的模块,能够有效减少互相之间的依赖,进而减少冲突的发生。

其次,应该使每个开发者知晓ignore list,有一些文件,如bin文件,都应该是忽略的;并且也应知晓一些基本的架构,知道哪些文件是不能更改的,哪些配置文件改了不需要check-in。

最后,在保证代码能够run的前提下,deliver代码的频率需要快一些,如果实现了很多的功能再发布出去,很可能架构层面都有些许变动,并且不利于与其它开发者的交互。

4.2 冲突解决方法

通常,冲突发生时,需要发现冲突的人解决冲突。一般是在3.2图中的pending changes里双击冲突文件,比对本地和远程文件差别,左侧是自己代码可以改动,点击连接线中间可以用远程覆盖本地代码:

RTC入门教程及冲突解决技巧_第8张图片

如果冲突比较麻烦,可以查看history选项卡(2.2图3),根据不同开发者的改动选择恢复到某个版本。

最后,比较粗糙的解决方法,discard一些本地的改变,再尝试解决冲突。

5 一些材料

官网:Rational

RTC相关博客:RTC使用指南

你可能感兴趣的:(RTC入门教程及冲突解决技巧)