一、找出并了解当前较为流行的几种源代码管理工具(至少三种);
1、SVN
- 全称是Subversion,集中式版本控制之王者;
- 是CVS的接班人,速度比CVS快,功能比CVS多且强大;
- 在国内软件企业中使用最为普遍(70%-90%);
2、 VSS
- Visual SourceSafe的目标用户是小型开发团队或个人用户;
- 微软的集中式版本控制工具,集成在Visual Studio中;
3、 ClearCase
- 软件行业公认的功能最强大、价格最昂贵的配置管理软件;
- 主要应用于复杂产品的并行开发、发布和维护;
4、 GIT
- 一款伟大的分布式源代码管理工具;
- 目前被越来越多的开源项目使用;
- 不过在国内企业尚未大范围普及;
5、perforce
- 一款具有轻便快速的SCM工具、真正的客户端/服务器系统等特点的商业软件;
- 自称是“快速软件配置管理系统”;
6、StarTeam
- Borland公司的配置管理工具;
- 属于高端的工具,在易用性,功能和安全性等方面都很不错;
二、建立表格对这些源代码管理工具的优缺点进行比较分析。
工具 | 优点 | 缺点 |
SVN |
1、采用集中式,易于管理,保证安全性; 2、管理方便,逻辑明确,理念符合常规思维; 3、代码的一致性高; 4、支持二进制文件,更容易处理大文件; |
1、服务器压力太大,数据库容量暴增; 2、必须连接在服务器上,否则基本不能工作; 3、不适合开源开发; 4、速度超慢。提交、更新、浏览历史的速度都很慢; |
VSS |
1、免费、开源 ; 2、安装、配置、使用均较简单,很容易上手使用; 3、操作简单,容易掌握 ; |
1、功能和安全性较弱,且只对 windows 平台进行支持; 2、权限管理基于文件共享形式,只能从文件夹共享的权限设定对整个库文件夹的权限,而且必须要有可写权限; 3、版本管理和分支管理只能靠人为的手工设置; |
ClearCase |
1、功能完善; 2、安全性好; 3、可以支持复杂的管理; |
1、ClearCase 太贵,易用性差; 2、培训费用很贵,没有培训,很难上手使用; |
GIT |
1、适合分布式开发,强调个体; 2、公共的服务器压力和数量都不会太大; 3、速度快, 成熟的架构,开发灵活; 4、任意两个开发者之间可以很容易的解决冲突; 5、离线工作,管理代码成本低,不需要依赖服务器; |
1、资料少,学习成本比较大,学习周期比较长,要求人员素质比较高; 2、不符合常规思维; 3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息; |
Perforce |
1、易用性强,速度快; 2、支持跨平台; 3、灵活的客户端视图; 4、强大的分支(反映)功能; 5、插件十分丰富,可以与众多软件集成; |
1、不能免费使用; |
StarTeam
|
1、权限设置功能强大方便; 2、StarTeam的图形化界面,能够使初学者易于接收 ; |
1、不支持并行开发,不能很好解决Merge的问题; 2、不支持分支的自动合并,需要手动来处理; 3、速度慢,一定程度上影响开发效率; 4、故障恢复困难,需要有专职管理员维护; 5、没有中文版本;另外,StarTeam集成度较高,移植过程复杂,需要的管理负担大,需要完善的备份计划。 |