场景一: 在没有使用CVS进行版本管理之前,TEAM的代码管理大多是人为控制的,即每位开发人员在自己的D盘设一个backup的共享目录,每天早晨由项目秘书收集前一天的工作成果。 导致的结果: 1.同一个文件,尤其是公用的XML文件经常出现版本错位或内容丢失; 2.类文件与原文件不匹配; 3.版本号难以控制; 4.代码难以持续集成 场景二: 引入CVS作为版本控制的工具,服务器安装在RED HAT 7.1上,客户端使用WINCVS,开发工具主要为JBUILDER + EDITPLUS + DREAMWEAVER , 将开发工具的工作目录与WINCVS的工作目录设为一样,当通过开发工具更改文件后,能在WINCVS中同步反应出来,有一个经验就是,最好不要使用JB自带的CVS客户端。经过两周左右的磨合,WINCVS的使用及同TEAM间的配合已没问题。 场景三: 开发人员每天上班后先通过WINCVS从服务器上CHECKOUT最新的文件,并BUILD,若编译出错,则迅速找出问题及相关人员。解决无误后,再开始新一天的开发工作。每天下班前,必须将当天所修改的文件更新到服务器,如有必要,一天中可多次更新。 成果: 1.版本得以控制,可根据需要,随时对文件作TAG; 2.代码管理透明化,不再出现黑箱 3.代码持续集成 4.团队开发,效率提高 经验: 1.代码持续集成的必要及实施策略 2.CVS是优秀的版本管理工具,客户端建议使用WINCVS 3.文件冲突的解决之法:上传前先UPDATE(可避免60%的可能);修改公共文件前先通知相关成员(如果方便的话) 4.服务器建议用LINUX,如REDHAT7,不建议用WIN系列 5.TAG由TEAM LEADER控制 6.CVS配置,布署,使用方便的经验,如有必要,再另发贴 Holen 2002/7/26
哪类产品,效果如何? ClearCase ,CCC/Harvest ,VSS ,CVS ,其它?
我们现在用CVS(CVSNT)做版本管控,觉得比没有SCM工具时要方便一些,但也强不了多少。 其一是CVS没有通知功能,版本修改了,却没有及时更新。ClearCase和PVCS在这点上就做得比较好。 另外就是权限范围太大,程序员稍不慎就会覆盖掉别人的文档。好几次版本混乱都出在这里。 不知道你们是怎么解决的?
我现在正开发证券系统,使用的是vss,感觉不错
你开发过吗?是基于什么理由才自行重新开发的?
北美的好多公司也用VSS。但VSS如果有一个人checkout file,别人就不能继续check out 这个file。 这一点Clear Quest 好一点,可以支持同时开发。 但配置麻烦,价格可能可贵一点。但功能强大,支持UCM的概念。
裁减规矩的目的是什么?是不要规矩吗?还是为了使规矩更合理? 坚持理念和使用工具之间并没有矛盾呀。 你对salhead“顶级高手不要版本控制软件”的观点怎么看?
产品开发的话,版本管理问题更复杂,仅靠变更记录是肯定不够的。
现在的开发流程很混乱,程序员们把CVS当成了代码共享的工具,一点点小改动就往上传,有时候一天上传十几次,嚷嚷一声就算通知了大家…… 虽然也制定了一些规范,但是几乎没有执行。各位能不能指点一下?
至少每天开始工作前应该update一下文件,下班前应该commit。 频繁提交则发生冲突的可能性就小多了,即使有也好处理得多。 另外,应该尽可能写commit注释。
1. 顶级人才做的肯定是开创性工作,还没有模式,哪来支持工具? 2. 顶级人才的工作应该是极易维护且自解释的,如Linux?! 不过,什么是顶级人才呢?如果是一个产品,版本管理还是必须的吧,特别是项目组协同工作。至于金字塔尖,至少也得爬上去;爬不爬得上看体力啦,:-)