各大代码托管服务的分析比较

总的来说代码托管服务一般分为两种访问方式:客户端和web端。各代码托管器优缺点如下:

1)SVN是一种集中式文件版本管理系统。它解决的是让在不同系统的开发者协同工作。它有一个单一的集中管理服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。现在,每个人都可以在一定程度上看到项目中的其他人正在做什么,管理员也可以轻松掌握每个开发者的权限,看到每个人每天的提交记录。这样做最大的缺点就是中央服务器的单点故障。如果宕机一小时,那么在一小时内所有人都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没有备份或者备份不及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端提取出来的某些快照数据除外,但是不能够保证所有的数据都已经有人事先完整的提取出来。即整个项目的历史记录被保存在单一位置,有丢失所有历史更新记录的风险。

2)Github是一个分布式管理系统。解决了SVN的缺点,若任何一处协同工作的机器发生故障,事后可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,这类系统都可以指定和若干不同的远端代码仓库进行交互。SVN与Github的另一区别是Github关心的是文件数据的整体是否发生变化,而SVN关心的是文件内容的具体差异。他有着庞大的代码库,几乎全世界的开源代码都放在这个上面。他分为私有库和公有库,建立私有库是要按月付费的。Linux、Git 的创始人 Linus Torvalds 就认为 Github 可以算是一个很好的代码托管服务,但是不是一个好的代码协作模式,他觉得 Github 引入的非专业程序员的代码分支降低了项目的代码质量

3)GitCafe是一个在线托管软件项目的平台, github 在国内的访问速度又慢又不稳定,所以[用 github 来托管 blog并不是很适合中国国情。但是他的用户量和活跃度还需慢慢积累。

4)Coding.net是一个面向开发者的云端开发平台,它与Github都提供基于 Git 的代码托管,不同是它的私有项目是免费的,只是限制协作人数。Coding 的官网强调的是它们与github的不同是他们是一个云端开发平台,想做的就是帮助开发者能够高效的在云端完成软件开发的工作。一个软件从开发,调试,发布,安装,运行都是在云端产生的。

5)BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统.他们也提供免费的私有代码库,可自定义域名等。不过还得翻墙注册

6)Google Code使用简单,很容易上手。内置WiKi(用来写软件说明),issue(bug跟踪系统),download(下载及其统计),代码仓库可以选择svn、cvs,git。Google Code被盾比较频繁,而且限制每个项目的SVN空间大小不能超过100M,发布的所有Release亦不能超过100M。因为github等的冲击,貌似已经关闭了该平台。

7)SourceForgeSourceForge 是全球最大开源软件开发平台和仓库,网站建立的宗旨,就是为开源软件提供一个存储、协作和发布的平台。相对于Google Code来说功能比较齐全,但是操作繁复,速度较慢。但是2012年6月的时候一座很高大的墙将他栏在了墙门。接着2012年8月sourceforge也屏蔽了国内IP的访问。

原文地址:https://www.cnblogs.com/alinawang/p/5240268.html