并行版本管理软件的使用(1)---3W 王泽宾

声明:本人非专业的软件配置管理人员,只是平常工做中常用,如下内容均表明我的观点,欢迎专业人士指正、补充。
 
What:什么是并行版本管理?
并行版本管理是软件配置管理(S CM) 的一部分。软件配置管理(SCM)通俗来说就是要控制与软件产品相关的文档资料、软件版本、变动文档以及软件运行的支持数据等等。并行版本管理主要工做是控制并行开发时的软件版本。
目前市场上并行管理软件最为经常使用的产品包括SVNCVSVSS
在规模较大的软件公司或者互联网公司,都会有专门的岗位作这个事情。规模大一点的公司可能会设置配置管理部;规模小一点的有专人负责;规模再小一点的公司,不设岗位,开发人员兼任。
做为开发人员来说,只要明白基本的原理以及平常使用就足够了,我看不少公司招聘的时候,把“是否会使用并行版本管理软件”做为聘用条件之一。其实这是很简单的一项技能,你花20分钟看完个人文章,你就足以应付,再配合一下实践工做就ok
 
Why:为何要使用并行版本管理呢?
我从来的观点:管理工具和管理手段的运用是为了减轻工做人员的负担而不是增长负担。若是仅仅为了管理的规范化,作一些表面文章,甚至于跟风,那么你的管理会是很失败的。为何要实行版本管理呢?缘由也很简单:它可以为研发人员的平常开发工做带来很大的便利。
实行版本管理到底会带来什么好处呢?
l         团队协做开发
本人对此深有体会,不管是在作C/S客户端软件仍是开发B/S WEB开发,理论上,在一个项目组分工合理的状况下,团队成员应该各负其职,不会有工做上的重叠,但在实际工做中远远达不到这种理想状况。当项目达到集成阶段,是要把各个成员的开发结果捏合在一块儿,相互之间必然产生必定程度的耦合。任何一方的变更,都有可能影响他人的已经完成的工做。最多见的灾难就是代码互相覆盖。
l         分支版本开发
若是您公司从事的是项目开发,这个好处颇有可能体会不到。由于项目开发通常到最终验收就结束了,之后基本上常规性的维护工做,不会有太多的版本发布。
若是您公司从事的是产品开发,那么这个好处就很是明显。您所开发的产品不管是自行运营销售仍是代人开发,都会存在版本升级的问题。
一般,您的版本管理库中会包含3部份内容:主干开发版、枝干开发版和发布版。
主干开发版:继续开发的版本,版本号一直在增加,好比作完了Version1.0,继续作Version2.0,这个分支就是主干主干开发版。
枝干开发版:正在维护的版本。您除了进一步开发以外,之前的多个版本可能须要继续维护,这些版本就是枝干开发版。
发布版:已经发布的产品或在生产环境中运营的版本。这个版本是静态版本,它做为项目的一个里程碑进行了固化,再也不容许改动。最终用户只能从发布版中获取所须要的产品。
l         错误版本回滚
新版本发布以后,即便这个经过了最为严密的验收测试,依然可能存在着重大缺陷。一旦出现这种状况,整个产品就必须下线,进行版本回退。这种状况还真很多见,我反正就在之前的公司都碰到过。这种状况是灾难性的,损失不可避免,采用错误版本回滚的方式,至少能够提供必定程度的补救。
 
l         历史修改记录
经过版本管理系统,你可以很方便地查阅项目的演变历史,获取任意时间的相关资料。有的领导也拿这个做为人员工做量考核的依据。
 
Where:什么样的场合须要使用并行版本管理呢?
若是您的公司规模很小,每一个项目的开发人员就那么一两个,项目也不复杂,我倒以为不必引进配置管理的工做了,白白增长工做量。开发人员将文档、源代码和发行版本直接存放到一台文件服务器上,或者直接存放在开发人员的机器上均可以。既节约资源,又省去管理成本,何乐而不为。
若是一个项目会发生常常性的变更,好比修复bug,升级版本等,或者多个版本同时并行开发,我以为你仍是应该实行版本管理。另外,若是你的公司可能有较多的项目,须要将项目成果保留一段时间的话,实行版本管理也是个不错的选择。
 
以上基本可以讲清楚并行版本管理的有关知识,目前开发人员都选择什么的并行管理软件呢?各个软件到底有什么优缺点呢?我将结合我的的经历与你们共享。
相关文章
相关标签/搜索