一、找出并了解当前较为流行的几种源代码管理工具(至少三种);
CVS、 SVN、GIT、VSS
二、建立表格对这些源代码管理工具的优缺点进行比较分析。
工具 | 优点 | 缺点 |
CVS |
1.CVS是个基于RCS文件的版本控制系统,不必担心有什么数据损失,如果必要的话可以手工修改RCS文件; 2.CVS代表了几乎代码控制系统的所有功能项; 3.CVS允许递交后任意的回滚; |
1.CVS比较慢; 2.CVS只允许存储文件; 3.CVS中的“零或一”事务原则根本没有实现; |
SVN |
1.代码一致性非常高; 2.SVN会关心所有的文件类型,不需要你来手工操作; 3.SVN的确支持“零或一”事务原则; 4. 易于管理,集中式服务器更能保证安全性; |
1.SVN不允许递交后回滚; 2.服务器压力太大,数据库容量暴增; 3.不适合开源开发 |
GIT |
1.分支更快、更容易; 2.支持离线工作;本地提交可以稍后提交到服务器上; 3.Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的; 4.Git 中的每个工作树都包含一个具有完整项目历史的仓库; 5.没有哪一个 Git 仓库会天生比其他仓库更重要; |
1.Git 没有一个全局的版本号; 2.学习周期相对而言比较长; 3.不符合常规思维; 4.代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息; |
VSS |
1.安装、配置、使用均较简单,很容易上手使用; 2.安全性不高,基于文件系统共享实现对服务器的访问,需要共享存储目录,这样用户可以对VSS的文件夹执行删除操作; 3.VSS 是微软的产品,可以得到稳定的技术支持; |
1.VSS 的安全性不高; 2.VSS 没有采用对许可证进行收费的方式,只要安装了 VSS ,对用户的数目是没有限制; 3.仅支持Windows 操作系统 |