任务说明:
一、找出并了解当前较为流行的几种源代码管理工具(至少三种);
SVN:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
CVS:CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,现在大多数软件开发公司都使用SVN替代了CVS。
VSS:VSS 的全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取,对开发小组中对源代码的访问进行有效的协调。
Git:Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
二、建立表格对这些源代码管理工具的优缺点进行比较分析。
工具 | 优点 | 缺点 |
SVN |
1. 性能提高,创建分支、打标签、合并等操作可以非常快地完成 2. 对目录的组织的管理更加方便。 3. 保证提交操作的完整性。 |
1.功能和安全性较弱。 2.不适合开源开发。 3.服务器压力太大,数据库容量暴增。 4. 服务器压力太大,数据库容量暴增。 |
CVS |
1.多个用户并行工作,这样对于正在编写软件的项目团体有利。 2.支持Linux和windows,更多是安装在linux下。 3.SVN 是开发源码软件,无需支付购买费用 4.对中文路径名的支持比较好。 |
1.任何人不能删除文件夹。 2.密码和权限还不清晰。 3.不支持本地文件重命名提交 |
VSS |
1.简单易用,一学就会。 2.版本控制简单,打label后,要还原到这个版本较简单 3. 如果开发工具是VS.NET,用VSS较合适,方便。 |
1.只能在 windows 平台上运行。 2.自身安全性较差。 |
Git | 1.适合分布式开发,强调个体。 2.公共服务器压力和数据量都不会太大。 3.速度快、灵活。 4.任意两个开发者之间可以很容易的解决冲突。 5.离线工作。 |
1.学习周期相对而言比较长。 2.不符合常规思维。 3.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。 |