天空之城
new,think,program,happy to live
posts - 39,comments - 39,trackbacks - 0
    源代码版本控制  
          这是是实际开发中一个十分重要的工程手段,几乎是必须的一个Process(过程)  
          如果你的项目中未进行版本控制,那么通常你的项目规模都十分小  
          对初学者学习而言,建议在开始进行实践小项目的阶段即进行源代码版本控制,因为这在以后的工作中,是一定会用到的。  
   
  源代码版本控制的基本原理如下:  
          在服务器端建立该项目的数据库,并保存你选定的项目源文件的第一个版本。客户端任一用户要获得某源文件的修改权利,需进行check   out操作。之后客户端一般每完成一个无编译错误的版本想进行保存的时候,进行check   in操作,将当前版本保存在服务器端上并成为最新版本(注意,不是覆盖以前的哟)。任一客户端可以方便地得到服务器上的文件的任意版本。一般还都实现了一个重要的功能是版本比较,任一客户端可以利用版本控制工具对某文件的不同版本进行版本比较,它会标记出不同版本的同名文件的不同点,可以较轻易地看出版本内容的演化,这一招很常用。以上假设客户端有足够的权限。  
   
  下面介绍一下我接触过的三种版本控制工具(也是国内用得比较多的):  
   
          VSS:   Visual   Sourcesafe  
          这是微软Visual   Studio自带的源代码版本控制工具,它最大的特点就是易安装(与Visual   Studio集成在一起,装VC/VB的时候就顺便搞定,不用别外费工夫),使用简单(服务器端设置相对容易,一般个人稍加摸索就可以轻松搞定,客户端更是只管check   in/out),基本功能完善,版本比较很直观(我喜欢)。它的一般特点是某人check   out了某版本以后,别人将无法对此版本check   out,也就是说同一时间只有一个可以修改某一个文件,这样就避免了不同的人对同一文件的修改造成彼此冲突。但以前似乎有人对我提到过VSS也可以进行同时修改再合并,反正我是没有这样用过(如果你用过的话,麻烦跟贴)。另,VSS可集成于VS环境,但根据我的经验,直接在VC里对版本的check操作,常常不生效,所以最好还是到VSS程序里去进行check操作。补充:单机上也可以使用VSS,这样的好处是在对当前某些文件进行了误操作或大规模地误修改之后,可以恢复到最近的无错误的版本,最大程度地挽回损失。VSS实际应用较普遍,如果你是走Visual   Studio路线的话,一定要用一下。  
   
          CVS:     Concurrent   Versions   System   

          这个也是一个大名鼎鼎的开源的版本控制工具,主要活跃在UNIX世界。CVS我使用不多,一般而言好像功能比较偏向于命令行方式(UNIX下开发很多人也都使用着命令行方式)。当然,Windows下面也实现了几个版本的CVS,也可以集成于VS,好像还有一个可以挂接在IE上的,我没试过。CVS的一大特点就是不同的客户端可以同时check同一个文件,最后由程序自动进行版本合并。这似乎挺有用的,不过我没有用过:)著名的开源项目管理网站sf.net也是用的CVS,如果你要和全世界的程序员一起协作开发,CVS是必须要安装的。  
   
          Rational   Clearcase  
          这个工具就比较上档次了,Rational公司(现在是IBM)的出品,价格十分昂贵。我最初参加工作的时候用过一小段时间,简单谈一下。这个工具的特点是复杂,安装及设置就十分复杂,我的印像中客户端甚至不得不加入到NT域里面去,导致我在本机的权限都不够,安装新程序都很麻烦,很郁闷(不知道是不是我们公司的相关人员安装设置错了)。对使用而言,它有一个功能挺有用的,就是它能够根据你每次check的版本号,自动生成版本树(一个图表),你可以清晰地看到版本的演化过程。所以严格地说,像CVS/Clearcase这样的才真正称得上“版本”控制,VSS还太勉强。Clearcase的功能十分强大,我不详述了(我还不想出书),较适于大型软件公司实施软件配置管理时采用。虽然它的名气十分之响亮,但我不知道国内有多少公司在真正使用正版的Clearcase这样的工具,想来应该是十分之少。
posted on 2006-05-14 12:51 太极虎~宏 阅读(852) 评论(1)  编辑 收藏 引用

FeedBack:
# re: 源代码版本控制
2008-03-27 15:04 | bill
motor 索爱 用的是clearcase  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理