`
tjsy4050
  • 浏览: 21779 次
  • 来自: ...
社区版块
存档分类
最新评论

ClearCase札记2——代码开发人员需要掌握的基本操作(转)

阅读更多

 

基本操作中的若干问题(其中还有个别遗留问题,以后解决了再修改进来):

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学习教案.pptx

    《ClearCase使用培训测试与开发人员实用PPT学习教案》是一个专门为IT行业的测试和开发人员设计的学习资源,主要讲解了IBM的版本控制系统ClearCase的使用方法和特点。ClearCase是一款强大的软件配置管理工具,它提供...

    clearcase for java 开发库

    而ClearCase for Java 开发库,则是专门为Java开发者提供的一套集成工具,它允许Java程序员在开发过程中无缝地与ClearCase进行交互,实现代码版本控制、构建管理和协同工作。本文将深入探讨ClearCase for Java 开发...

    clearcase操作

    《ClearCase操作详解》 ClearCase是一款强大的版本控制系统,由IBM...理解并熟练掌握这些操作,对于软件开发团队的协作和代码管理至关重要。正确配置和使用ClearCase能有效提升开发效率,确保代码质量,降低出错风险。

    ClearCase使用培训测试与开发人员实用PPT课件.pptx

    【使用初步】了解ClearCase的基本概念至关重要,如VOB、元素、版本、版本树、视图、视图配置规则、检出-编辑-检入操作模式、分支和归并以及标签。VOB是版本对象的存储库,元素是受控的版本化对象,版本和版本树用于...

    ClearCase基本操作

    **ClearCase基本操作详解** ...总的来说,理解并熟练掌握ClearCase的基本操作是高效进行软件配置管理的关键。通过合理的分支策略、视图配置和版本控制,可以确保团队协作的顺畅,提高软件开发的质量和效率。

    clearcase的基本使用

    掌握ClearCase的基本概念和使用方法,可以显著提高团队协作效率,简化软件开发过程中的版本管理和变更控制。了解并熟练应用这些工具,对于理解和实施UCM策略至关重要,从而更好地管理复杂的软件开发项目。

    clearcase新手入门开发总结

    通过熟练掌握这些基本操作,你就能开始使用 ClearCase 进行有效的版本控制和协同开发。同时,了解和实践更多的 ClearCase 命令以及高级特性,如动态视图、分支策略和基线管理,将有助于进一步提升工作效率和项目管理...

    ClearCase 客户端使用指南 For windows base 方式

    整个指南的内容以文字描述与图片配合,共41页,详细介绍了ClearCase客户端在Windows环境下的使用方法,从安装、配置、到基本操作,再到与开发工具的集成,涵盖了使用ClearCase客户端时可能会遇到的绝大部分场景,是...

    clearcase2013

    ClearCase 2013是其一个重要的更新版本,强化了与开发环境的集成,特别是与Eclipse IDE的配合,使得开发人员能够在熟悉的环境中进行版本控制操作。 Eclipse是一款开源的、跨平台的集成开发环境,被广泛用于Java、...

    如何取clearcase基线版本

    要获取ClearCase中的某个基线版本,我们需要进行一系列操作。以下是详细的步骤: 1. **创建基线视图(View)**: - 首先,在ClearCase Explorer中选择Toolbox,然后选择Base ClearCase菜单,接着选择Create View。...

    clearcase for eclipse plugins

    《ClearCase for Eclipse 插件详解》 在软件开发领域,版本控制系统对于团队协作和...通过熟练掌握这个插件,开发者可以在不脱离熟悉的开发环境的前提下,充分利用 ClearCase 的优势,实现高质量的软件开发和管理。

    UCM ClearCase下使用perl获取代码行总数

    UCM ClearCase下使用perl获取代码行总数

    clearcase常用命令

    在IT行业中,版本控制系统是软件开发过程中的重要工具,IBM的ClearCase就是其中之一。它提供了对源代码和其他文件的版本管理,确保团队协作时的代码一致性。本文将详细介绍ClearCase的一些常用命令,帮助用户更好地...

    clearcase命令手册

    本篇文章将深入探讨ClearCase的核心——命令行工具cleartool及其多工具(multitool)的部分命令,旨在帮助用户更有效地掌握和运用这个系统。 一、cleartool概述 `cleartool`是ClearCase的主要命令行工具,通过它,...

    ClearCase客户端安装指导

    IBM Rational ClearCase 是一款强大的版本控制系统,主要用于软件开发中的源代码管理。本安装指导将详细阐述如何在不熟悉ClearCase的情况下,成功安装ClearCase客户端。 **1. 安装Perl脚本** 在安装ClearCase客户端...

    clearcase使用手册

    ClearCase是IBM推出的一款强大的版本控制系统,主要用于软件开发中的源代码管理。它提供了全面的版本控制、配置管理和变更管理功能,是IT行业中广泛使用的工具之一。ClearCase支持多种操作系统,包括Windows、Linux...

    ClearCase

    ### ClearCase知识点详解 #### 一、ClearCase简介与重要性 **ClearCase**是一款由IBM推出的高级配置管理系统,主要用于软件开发...掌握其基本概念和使用方法对于提高开发效率、确保代码质量和实现团队协作至关重要。

    ClearCase的使用方法

    了解并熟练掌握上述ClearCase的概念和操作,对于高效管理软件开发项目至关重要。ClearCase提供了强大的版本控制和配置管理能力,帮助团队协同工作,跟踪代码变更,确保项目的稳定性和可维护性。

Global site tag (gtag.js) - Google Analytics