版本控制工具CVS使用经验介绍
2012-07-16 16:23
309 查看
CVS(Concurrent Versions System),并发版本系统的意思,主流的开放源码网络透明的版本控制系统,用于在多人开发环境下的源码的维护。CVS对于从个人开发者到大型、分布团队都是有用的。下面介绍一下我的使用经验。
经过一段时间,Debug、Release基本稳定下来,bug不太多了,我们就可以进行一次阶段性分支总体合并,按如下步骤:1)将Debug分支的代码合并到Release分支上;2)Release分支的代码合并到Head主干上。这样Head、Debug、Release分支又进一步融合一致了,我们又可以在Head上进行开发了,开发一段过程,可能又会遇到上述状况(需要再次发布、版本升级),我们就可以再次按上述的分支建立、合并规则(可以参考,也许有更好的思路),循环往复地进行基于分支的开发管理。
开发时还要注意一点,分支的切换,最好能一个分支建立一个新的工程,比如head、debug、release分别建立一个工程,都与CVS同步。使用eclipse就比较方便做到了。如下:
进入eclipse cvsReporsitories,取得相应分支,使用check out as 另存为新的工程,就可以建立分支对应的工程项目了。不再多说了。
可以选择合适的分支进行查看、检出等操作。
在项目工程右击菜单中选择cvs相关菜单项,如下
其中Synchronize with Repository :同步cvs服务器与本地源码,可以执行提交、覆盖等同步操作;
commit:提交当前源码文件或目录;
update:下载服务器最新源码;
Tag as Version:用于打版本标记Tag
Switch to Another Branch or Version...:切换当前工程为另一个分支或版本,如下图,选中后,工程将刷新到新的版本分支。
分支的使用
我们开发使用CVS一般在项目主干head上记录,然而有时我们为了保持版本源码相对稳定,或者为特殊的目的,需要构建分支,分别来管理控制,等源码都稳定下来,再进行分支的合并。可见建立分支的主要目的是得到一个相对稳定的阶段性版本。举个实际例子,我们开发的一个CRM项目,开始是在主干Head上开发源码,经过测试组测试基本稳定了,但仍存在未修复的bug,在发布预发布版本前为了保证程序的稳定性,我们在主干Head上又建立了2个分支:Debug分支、Release分支。Debug分支用于开发人员进行bug的修复、代码的修改、优化、新增需求功能;Release分支用于预发布或正式发布、上线前的测试、客户演示,可以将相对稳定的Debug分支与前一个Release分支(若没有就使用Debug分支)合并(Merge)的版本。这2个分支各有用途,可以独立进行互相不干扰,Head-Debug-Release,Debug是个中间版本,由于发布前发现的问题会比较多,作为发布前的缓冲、过渡、修复代码,保证Release的正常进行。开发中各分支版本打Tag会比较频繁,我们会制定了一些规范让开发人员在tag上记录解决修复问题的记录,如下:=======此为merger到其他分支的tag模版信息============================================== YYYY-M-D ←日期 merger人:某某某 ←提交人姓名 start t-debug-xxxx-before end t-debug-xxxx-after patch to release ↑此tag为merger代码的开始tag; ↑此tag为结束tag; ↑此为目标分支; merger的文件列表: 例如: cn\zwork\crm\mobile\biz\impl\MobileSystemBizImpl.java WebRoot\script\appmanage\product.js ========以下为具体bug提交的信息======================================================= 提交人:xxx 解决的问题:oss在ip地址认证错误时,显示提示页面error.html 提交后tag:t-head-20120716-1016-after 提交前tag:t-head-20120716-1016-before 提交的文件列表:\WEB-INF\web.xml、\WebRoot\error.html 修改说明:web.xml增加Dispatcher分发器的路径匹配“<url-pattern>*.html</url-pattern>” error.html为新增加的页面。 =============================================================================== 2012-7-05 提交人:xxx 解决的问题:修改操作日志的操作时间不显示、操作日志进入页面初始查询当天的操作日志 提交后tag:t-debug-20120705-1710-after 提交前tag:t-debug-20120705-1710-before 提交的文件列表:logs-mapper.xml、logs-resultmap.xml、logsIndex.jsp |
开发时还要注意一点,分支的切换,最好能一个分支建立一个新的工程,比如head、debug、release分别建立一个工程,都与CVS同步。使用eclipse就比较方便做到了。如下:
进入eclipse cvsReporsitories,取得相应分支,使用check out as 另存为新的工程,就可以建立分支对应的工程项目了。不再多说了。
eclipse与CVS工具的结合使用
使用cvs库,如下可以选择合适的分支进行查看、检出等操作。
在项目工程右击菜单中选择cvs相关菜单项,如下
其中Synchronize with Repository :同步cvs服务器与本地源码,可以执行提交、覆盖等同步操作;
commit:提交当前源码文件或目录;
update:下载服务器最新源码;
Tag as Version:用于打版本标记Tag
Switch to Another Branch or Version...:切换当前工程为另一个分支或版本,如下图,选中后,工程将刷新到新的版本分支。
相关文章推荐
- Git 版本控制工具使用介绍------Windows系统下使用
- 版本控制工具VSS使用介绍
- 版本控制工具VSS使用介绍
- 版本控制工具VSS使用介绍
- 版本控制工具VSS使用介绍
- 版本控制工具(上)——Git的基本使用
- cvs版本控制工具
- MyEclipse中CVS版本控制的使用 2009-12-22 15:28
- eclipse版本控制工具SVN使用方法详解地址
- 版本控制工具--git以及多电脑使用同一github账号协同开发
- macbook SVN 版本控制工具的使用
- 使用版本控制工具SVN的项目中各种小图标所代表的具体含义
- 版本控制工具SVN的使用方法
- Java版本控制工具之Git初级使用
- Android 使用版本控制工具时添加忽略文件方式
- 关于测试方面一些版本控制及管理工具的安装及使用
- linux系统中优秀的版本控制工具svn介绍
- 版本控制工具git的安装与使用
- 版本控制工具比较-CVS,SVN,GIT
- 分布式版本控制工具 Mercurial 使用教程 [转]