20180320作业1:源代码管理工具调查

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

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

源代码管理工具

优点

缺点

GitHub

免费且开源。

用于敏捷高效地处理任何或小或大的项目。

Git支持分支功能(branch)。

Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。

Git 中的每个工作树都包含一个具有完整项目历史的仓库。

简易的初始化。对于随便写两行代码就要放到代码管理工具里的人来说,再合适不过。

学习成本大。由浅入深的过度很漫长,需要大量时间的投入。

Git版本库需要频繁的手动维护。

SVN

对目录的组织的管理更加方便。SVN不光对文件做版本跟踪,也会对目录做版本跟踪。

保证提交操作的完整性。SVN对提交操作的处理方式类似数据库的事务处理,要么全部成功,要么全部无效,保证了原子性。

SVN允许一个文件有任意多的可命名属性,功能十分完全。

不能离线工作。所有的版本信息都放在服务器上。提交、更新、浏览历史的速度慢。耗费CPU资源。

代码不能及时提交。强迫使用者即时处理冲突,然后才能提交。

不能恢复到历史版本。

需手动“cleanup”。很多评论回复这点让他们抓狂。

Mercurialhg

学习门槛较低。整体上看,hg需要掌握的命令要比git少很多。

可以一键完全恢复到历史版本的某一个切面。

封装好。相比githg很少暴露一些实现内的细节。

照顾 svn 的迁移用户。

hg pull 更多的时候可以让你避免创建分支。

hg的版本库不需要维护。

分支管理不灵活。Mercurialbranch管理和Git相比不是很方便。大型团队不愿使用

Microsoft TFS

任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用集成了项目管理、版本控制、BUG 跟踪。

能有效实现 SCRUM能与 VS 无缝接合。

搭建、维护tfs比较复杂,硬件要求也比较高。

整个系统是用 asp 实现的,用浏览器访问相当慢。

原文地址:https://www.cnblogs.com/linhui0822/p/8616094.html