基本操作中的若干问题(其中还有个别遗留问题,以后解决了再修改进来):
1)如何查看整个VOB的版本树:View中的某个 VOB——右键——ClearCase——Version
Tree,但树上的标签等信息并不是完整的,标签的位置也并非理想的。
2)如何查看某个文件、文件夹的History和版本树:easy,但文件的 VersionTree
经常不能说明什么问题,不推荐查看。元素的History里面有很多有用的。
3)如何比较版本间的改变:
首先,这里的版本有歧义:
狭义的版本:可以理解为“修改”,如 SVN
中每次提交一次,就自动更新一次版本号,产生一个新版本。CC中其实也是这样,可以在History中看到。
广义的版本:可以理解为“众多元素的一次整体发布”,如我们通常说的 8.19.01 版本。
这样说吧:
广义的版本发布之前,SVN或CC都会对我们的修改做n次记录,每次修改记录也能称为SVN或CC所作的一次更新版本。
广义的版本之间还存在“分支”,狭义的版本可以理解为一个“分支”内部的修改、更新。
所以:
1。比较某个元素(文件、文件夹)的两个版本(狭义):选定元素——右键——History——选定两个版本——Compare Selected
Versions。
但只能在该元素的“Event Kind”中“Create Version”类型之间比较。
2。比较两个版本或标签(广义):这个就需要一些技巧了,也是讨论中最集中的地方。CC自己无法完成,需要借助外部工具了。
a。创建两个空 View
b。修改空 View
的属性,加载一个待比较的版本或标签:
右键View——Properties of View——Config
Spec(修改视图规约)
空视图可能只有两句
element * CHECKOUT element *
……
把第一局的 CHECKOUT
修改为希望比较的一个版本或标签。
c。同理修改另一个View属性,加载另一个待比较的版本或标签
d。用
Merge 、Beyond Compare 等工具手工选择两个被映射好的 View中的任意文件、文件夹进行比较。
说白了,第1种方式比较一个元素,CC自己也只能比较单个元素,第2种方式比较多个元素。
SVN中比较两个版本时则一次递归列出所有子文件夹、子文件,非常方便,很好的融合了上述两种方式,让你感觉不到两种方式之间的区别。
4)如何修改、提交代码:手工copy到本地——code、debug——使用Merge工具比较本地-CC上的文件——checkout
已修改的文件——将本地的覆盖到CC上——checkin
|—add source to CC
主要问题就是:你经常不知道哪些文件已经被自己修改了,所以只有用Merge、BeyondCompare等工具手工对比,然后一一合入。
SVN由于采用了“本地工作拷贝”的方式,本地的代码都被管理起来了,你在本地的操作都会被记录,所以提交的时候SVN能够为你做很多事情(包括找到你的更新、递归提交你的更新……),而CC没有“本地工作拷贝”的概念,而只有“网络操作”的概念,拷贝到本地是纯粹的不受管理的“本地拷贝”,本地的修改无法为您记录,所以这个环节也就无法“为您服务”了。
这一点估计就是“对开发人员来说,CC与SVN最密切的区别了”,也能够成为SVN
Fans们攻击CC的最好把柄。
5)如何批量修改、提交代码:由于没有“本地工作拷贝”的概念,而只能做到“本地拷贝”——去掉只读权限——本地修改——合入CC
这样的步骤。
当有很多文件被本地修改需要合入CC的时候,麻烦就来了。
· 先用 Beyond compard
比较
· 点击“=?”比较服务器-本地文件
· 点击不等号,只显示不相等的文件
· 以前是进入View手工对照着每个文件checkout——巨耗精力,或者递归checkout出整个目录——checkin的时候又要点一通鼠标并删除一堆的
*.keep 文件
后来终于发现了【完美解决 批量
checkout、checkin】的方法:
· 可以:在Beyondcompare内选中待checkout的文件——右键——checkout
· 在本地的文件一侧再次选中这些文件,点击“复制(箭头下面一个加号)”,就可以从本地覆盖到CC了,然后再“find
checkout”-“checkin”,再也不会碰到checkout了但没有修改的问题了。
6)如何解决代码冲突:
冲突分两类:
1。分支间合并时产生的冲突:将一个分支合入主干,如果主干已经有修改,分支的修改合入时就会报冲突,需要人工解决。这是一个非常危险的操作,合不好的话会将主干改的不能编译和引入错误。所以我们公司基本禁止个人搞“私人分支”,就是CC管理员在将分支合入主干的时候也是能不合就不合的原则。
2。分支内某元素被多人修改而产生的冲突:
首先要明白checkout有两种:二进制checkout(CC中叫“保留式”checkout,一个人checkout后别人不能再次checkout)、非二进制checkout(CC中称为“非保留”式)。
如果你checkout
的时候用的二进制checkout,则没有冲突发生的情况。如果不是(SVN都不是),则需要保证及时的更新服务器的修改,合入的时候细心比较……反正麻烦着呢,CC你就始终用保留式Checkout吧。至于SVN就不用多操心,Updata操作会完美解决这个问题。
7)如何回溯历史版本:
第一种:简单的拿到一个以前的版本。这个好作,创建空View——修改视图规约为想要的标签——OK!
第二种:想把当前本地的一个版本还原到以前的一个版本(或标签):???偶还不知道
8)如何并行开发(知道别人正在checkout什么、我checkout时需要注意什么……):find
checkout的时候,会弹出一个对话框,里面可以选择是否“寻找别人正在checkout的文件”。
分享到:
相关推荐
《ClearCase使用培训测试与开发人员实用PPT学习教案》是一个专门为IT行业的测试和开发人员设计的学习资源,主要讲解了IBM的版本控制系统ClearCase的使用方法和特点。ClearCase是一款强大的软件配置管理工具,它提供...
而ClearCase for Java 开发库,则是专门为Java开发者提供的一套集成工具,它允许Java程序员在开发过程中无缝地与ClearCase进行交互,实现代码版本控制、构建管理和协同工作。本文将深入探讨ClearCase for Java 开发...
《ClearCase操作详解》 ClearCase是一款强大的版本控制系统,由IBM...理解并熟练掌握这些操作,对于软件开发团队的协作和代码管理至关重要。正确配置和使用ClearCase能有效提升开发效率,确保代码质量,降低出错风险。
**ClearCase基本操作详解** ...总的来说,理解并熟练掌握ClearCase的基本操作是高效进行软件配置管理的关键。通过合理的分支策略、视图配置和版本控制,可以确保团队协作的顺畅,提高软件开发的质量和效率。
【使用初步】了解ClearCase的基本概念至关重要,如VOB、元素、版本、版本树、视图、视图配置规则、检出-编辑-检入操作模式、分支和归并以及标签。VOB是版本对象的存储库,元素是受控的版本化对象,版本和版本树用于...
2. 学习和掌握ClearCase的术语,如VOB、View和Activity,有助于更好地理解和使用工具。 3. 规范CheckOut和CheckIn操作,避免冲突和数据丢失。 4. 利用View定制个人的工作空间,确保每个开发者看到的都是他们需要的...
掌握ClearCase的基本概念和使用方法,可以显著提高团队协作效率,简化软件开发过程中的版本管理和变更控制。了解并熟练应用这些工具,对于理解和实施UCM策略至关重要,从而更好地管理复杂的软件开发项目。
通过熟练掌握这些基本操作,你就能开始使用 ClearCase 进行有效的版本控制和协同开发。同时,了解和实践更多的 ClearCase 命令以及高级特性,如动态视图、分支策略和基线管理,将有助于进一步提升工作效率和项目管理...
整个指南的内容以文字描述与图片配合,共41页,详细介绍了ClearCase客户端在Windows环境下的使用方法,从安装、配置、到基本操作,再到与开发工具的集成,涵盖了使用ClearCase客户端时可能会遇到的绝大部分场景,是...
ClearCase 2013是其一个重要的更新版本,强化了与开发环境的集成,特别是与Eclipse IDE的配合,使得开发人员能够在熟悉的环境中进行版本控制操作。 Eclipse是一款开源的、跨平台的集成开发环境,被广泛用于Java、...
要获取ClearCase中的某个基线版本,我们需要进行一系列操作。以下是详细的步骤: 1. **创建基线视图(View)**: - 首先,在ClearCase Explorer中选择Toolbox,然后选择Base ClearCase菜单,接着选择Create View。...
《ClearCase for Eclipse 插件详解》 在软件开发领域,版本控制系统对于团队协作和...通过熟练掌握这个插件,开发者可以在不脱离熟悉的开发环境的前提下,充分利用 ClearCase 的优势,实现高质量的软件开发和管理。
UCM ClearCase下使用perl获取代码行总数
在IT行业中,版本控制系统是软件开发过程中的重要工具,IBM的ClearCase就是其中之一。它提供了对源代码和其他文件的版本管理,确保团队协作时的代码一致性。本文将详细介绍ClearCase的一些常用命令,帮助用户更好地...
本篇文章将深入探讨ClearCase的核心——命令行工具cleartool及其多工具(multitool)的部分命令,旨在帮助用户更有效地掌握和运用这个系统。 一、cleartool概述 `cleartool`是ClearCase的主要命令行工具,通过它,...
IBM Rational ClearCase 是一款强大的版本控制系统,主要用于软件开发中的源代码管理。本安装指导将详细阐述如何在不熟悉ClearCase的情况下,成功安装ClearCase客户端。 **1. 安装Perl脚本** 在安装ClearCase客户端...
ClearCase是IBM推出的一款强大的版本控制系统,主要用于软件开发中的源代码管理。它提供了全面的版本控制、配置管理和变更管理功能,是IT行业中广泛使用的工具之一。ClearCase支持多种操作系统,包括Windows、Linux...
### ClearCase知识点详解 #### 一、ClearCase简介与重要性 **ClearCase**是一款由IBM推出的高级配置管理系统,主要用于软件开发...掌握其基本概念和使用方法对于提高开发效率、确保代码质量和实现团队协作至关重要。