对主流源代码管理工具探讨
一、当前较为流行的几种源代码管理工具
VSS、SVN、ClearCase、GitHub、TFS等。
二、源代码管理工具的优缺点进行比较分析
(一)VSS
优点:
1、 VSS 没有采用对许可证进行收费的方式,只要安装了 VSS ,对用户的数目是没有限制的。因此使用 VSS 的费用是较低的。
2、 可以得到稳定的技术支持。
3、 安装和配置非常简单,对于该产品,不需要外部的培训。
缺点:
1、VSS 的安全性不高。
2、VSS 的配置管理的功能比较基本。
(二)SVN
优点:
1、 SVN 的功23能具备 VSS 的功能。
2、 可以完成精细的权限控制,还能完成更加个性化的功能。
3、 SVN 是开发源码软件,无需支付购买费用。
缺点:
1、 SVN 的权限设置单一,无法完成复杂的权限控制。
2、 同样因为 SVN 是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进行解决。
(三)ClearCase
优点:
1、 ClearCase 提供 VSS, SVN所支持的功能。
ClearCase 通过多点复制支持多个服务器和多个点的可扩展性,并擅长设置复杂的开发过程。
缺点:
1、 ClearCase 的安装和维护远比 VSS 复杂。
ClearCase 提供命令行和图形界面的操作方式,但从 ClearCase 的图形界面不能实现命令行的所有功能。
(四)GitHub
优点:
1.完整的支持Markdown语言,而且支持Emoji表情。
2.支持直接复制图片到页面,会自动上传图片(非常好的功能,知乎也支持)。
3.比较好的支持Mobile。虽然github没有手机客户端,但是一般开发者,写好的blog都会通过微博进行分享,所以点击过来之后,就可以在手机浏览器里面访问。
4.使用github原生的功能,就可以进行类似评论的功能。
5.支持@用户功能。
6.功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面。
缺点:
1.免费套餐不支持私有项目,无非解决企业内部的需求,github:fi价格过高(最便宜要$5,000/年)。
2.基于git,学习曲线陡峭,企业大规模用git根本不现实。尤其国内大家都刚学会svn。
3.github有时可能被墙,或者不稳定。
4.没有集成社交分享功能。
TFS
优点:
1.任务版上能将需求、项目进度一览无余。
2.集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM。
3.能与 VS 无缝接合。
缺点:
1.搭建、维护tfs比较复杂。
2.硬件要求也比较高。
三、GitHub主要介绍
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。
作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GitHub可以托管各种git库,并提供一个web界面,但它与外国的SourceForge、Google Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。
GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。
在GitHub,用户可以十分轻易地找到海量的开源代码。
GitHub中常用的基本功能:
第一个功能可以简单理解为:云端存储代码
Github其实就是一个储存代码文件的平台,类似于 百度云盘 这一类的,Github中储存文件必须要先建一个文件夹,这个文件夹就叫仓库。
简单理解仓库就是一个必须要建的文件夹,你只能在这个文件夹中新建、上传文件或文件夹,一般来说,一个仓库就是一个项目,里面放整个项目的所有代码文件,我们可以将我们的代码直接粘贴在仓库中新建的文件中,也可以将本地的代码文件上传上去,这样你就可以随时在有网络的计算机上将你整个项目下载到这台计算机,并进行修改编辑,然后你再将这个项目的文件夹提交上去,这样你就可以做到随时掌控自己的项目!!!
第二个功能:版本管理
点开提交记录你可以看到:
点开记录中的文件你就可以看到历史更改
第三个功能:查找源码
作为新手想学习一下高手的代码,你就可以在GitHub里搜索,搜索到的开源项目根据项目的开源协议,你可以在允许的范围内尽情的使用它。
在搜索框内搜索:
以上是我对一些主流的源代码管理工具的优缺点比较和对GitHub这一工具的具体介绍和一些简单的基本工具的介绍,不一定哪一款一定是最好的,用什么还是需要看自己的需求和对这些软件的喜好程度。