源代码管理工具调查

任务说明:

一、找出并了解当前较为流行的几种源代码管理工具(至少三种);

二、建立表格对这些源代码管理工具的优缺点进行比较分析。

常见源代码工具

优点

缺点

VSS

  1. 易用性:★★★★★

易学易用是 VSS 的强项, VSS 采用标准的 windows 操作界面,只要对微软的产品熟悉,就能很快上手。 VSS 的安装和配置非常简单,对于该产品,不需要外部的培训(可以为公司省去一笔不菲的费用)。只要参考微软完备的随机文档,就可以很快的用到实际的工程当中。

  1. 总体成本:★★★★VSS 没有采用对许可证进行收费的方式,只要安装了 VSS ,对用户的数目是没有限制的。因此使用 VSS 的费用是较低的。
  2. 技术支持:★★★★★由于 VSS 是微软的产品,可以得到稳定的技术支持。
  3. 功能:★★★

VSS 的配置管理的功能比较基本,提供文件的版本跟踪功能,对于 build 和基线的管理, VSS 的打标签的功能可以提供支持。 VSS 提供 share (共享 ) branch( 分支)和合并( merge) 的功能,对于团队的开发进行支持。 VSS 不提供对流程的管理功能,如对变更的流程进行控制。 VSS 不能提供对异地团队开发的支持。此外 VSS 只能在 windows 平台上运行,不能运行在其他操作系统上。

  1. 安全性:★★★

VSS 的安全性不高,对于 VSS 的用户,可以在文件夹上设置不可读,可读,可读 / , 可完全控制四级权限。但由于 VSS 的文件夹是要完全共享给用户后,用户才能进入,所以用户对 VSS 的文件夹都可以删除。这一点也是 VSS 的一个比较大的缺点。

 

SVN

  1. 易用性 : ★★★★Subversion支持Linuxwindows,更多是安装在linux下。svn服务器有2种运行方式:独立服务器和借助apache2种方式各有利弊。目前业界评价的SVN易用性正在提高。
  2. 功能:★★★★

它的客户机 / 服务器存取方法使得开发者可以从任何因特网的接入点存取最新的代码;它的无限制的版本管理检出 (checkout :注 1)的模式避免了通常的因为排它检出模式而引起的人工冲突;它的客户端工具可以在绝大多数的平台上使用。同样, SVN 也不提供对变更流程的自动管理功能。

  1. 总体成本:★★★★    ★

SVN 是开发源码软件,无需支付购买费用。

 

 

1. 技术支持:★★★

同样因为 SVN 是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进行解决。

  1. 故障指数:★★★

这么做最显而易见的缺点是中央服务器的单点故障。若是宕机一小时,那么在这一小时内,谁都无法提交更新、还原、对比等,也就无法协同工作。如果中央服务器的磁盘发生故障,并且没做过备份或者备份得不够及时的话,还会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,被客户端提取出来的某些快照数据除外,但这样的话依然是个问题,你不能保证所有的数据都已经有人提取出来。

 

Clearcase

1.功能:★★★★★

ClearCase 提供 VSS, SVN所支持的功能,但不提供变更管理的功能。 Rational 另提供了 ClearQuest 工具提供对变更管理的功能,与 VSS不同, ClearCase 后台的数据库是专有的结构。 ClearCase 对于 windows unix 平台都提供支持。 ClearCase 通过多点复制支持多个服务器和多个点的可扩展性,并擅长设置复杂的开发过程。

2.安全性:★★★★

ClearCase 的权限设置功能与 SVN 相比, SVN 有独立的安全管理机制, ClearCase 没有专用的安全性管理机制,依赖于操作系统。

 

1.易用性:★★★

ClearCase 的安装和维护远比 VSS 复杂,要成为一个合格的 ClearCase 的系统管理员,需要接收专门的培训。 ClearCase 提供命令行和图形界面的操作方式,但从 ClearCase 的图形界面不能实现命令行的所有功能。如果Unix/Linux服务器上安装了Samba服务,可以直接通过WindowsClearcase的客户端直接访问源代码,相对比较简单。

2.总体成本:★★

要选用 ClearCase ,需要考虑的费用除购买 license 的费用外,还有必不可少的技术服务费用

Git

1.比svn更快速的切换,因为分支都在本地。这使得git特别适合处理临时需求,或者小实验。

2.可以在星巴克写代码的时候随时提交,因为各版本快照(commit)都在本地

3.有一个全世界最大的开源社区——github,上面可以看到各种优秀的各语言代码,去官网语言列表看看才知道有那么多语言,就跟奥运会开幕式才知道世界上有那么多国家一样

 

1.因为是分布式的,每台机器上都commit的时候,有的时候忘记了push到远程服务器(github),那就不同步了。不过常常status一下看看状态,问题不大

 

原文地址:https://www.cnblogs.com/chenzonglin/p/8611008.html