GitHub & Bitbucket & GitLab & Coding 的对比分析

目前基于 Git 作版本控制的代码托管平台有不少种,比较流行的服务有 Github、Bitbucket、 GitLab、 Coding,他们各自有什么特色,我的使用者和开发团队又该如何选择?node

在这篇文章中,咱们以客观的态度,以问题做为出发点,介绍和比较 GitHub、Bitbucket、GitLab、Coding 在基本功能,开源与协做,免费与付费计划,企业解决方案,集成 flow.ci 等方面,让你们了解这四者不只仅是功能不一样。linux

GitHub 是第一个供“用Git进行版本控制系统的软件开发项目”使用的基于Web的代码托管服务,是目前全球最大的开源社交编程及代码托管网站。GitHub 于 2008 年 4 月 10 日正式上线,除了基本的服务之外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协做图谱(报表)、代码片断分享(Gist)等功能。git

BitBucket 是 2008 年建立的源代码托管网站,采用 Mercurial 和 Git 做为分布式版本控制系统,同时提供免费帐户和商业计划。2010 年被 Atlassian 收购,与 Atlassian 的其余服务(Git GUI SourceTree、HipChat、Cloud9)顺利集成,主要面向慈善企业和企业用户/其主要市场是大型企业。github

GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可经过 Web 界面进行访问公开的或者私人项目。docker

Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协做功能,包含了社交元素,方便开发者进行技术讨论和协做。2016 年 3 月 CODING 宣布收购代码托管平台 GitCafe。也许是目前国内体验最接近 github 的产品。编程

基本特征swift

关于这 4 大代码托管服务平台有着各自不一样的功能,但也是有一些基础特色,好比:ruby

  • 拉取请求
  • 代码审查
  • 内联编辑
  • 问题跟踪
  • Markdown支持
  • 双向认证
  • 高级权限管理
  • 托管的静态网页
  • 功能丰富的API
  • Fork / Clone Repositories
  • 代码段
  • 第三方集成

欲了解更多的功能和细节,能够直接去 BitbucketGitHubGitLabCoding相关页面了解。服务器

哪一个是开源的服务或产品

在这四家代码托管服务,只有 GitLab 有一个开源代码版本。GitLab 社区版的源代码也开放在他们的网站上。app

GitHub 以开源友好而闻名,而且拥有最大数量(19.4M +)的开源项目但其自己不是开源的。

Bitbucket也不是开源的,但在购买托管服务的方案中提供了「产品定制」的功能。

Coding 一样也不是开源的,不过 ,9 月中旬 Coding 宣布开放 WebIDE 的源代码

开源与协做,谁是最优之选

GitHub,GitLab,Bitbucket 和 Coding 都具备「发现」功能。除了 GitLab,每一个都提供了「follow」功能。Coding 容许开发者在我的配置文件中添加自定义标签,方便找到其余相同兴趣的开发者。

在协做上,GitHub 是开源协做方面的首当其冲的选择。目前 GitHub 拥有全世界最大数量的公共开源项目,全球顶级科技公司( Google AppleFacebookTwitter/Microsoft/AlibabaTencent)纷纷加入 GitHub ,全球顶级开源项目(LinuxNodejs/SwiftRuby / Docker)都优先选择在 GitHub 上开源,这里还有全球顶级编程大牛贡献代码。这里不只仅是专业开发人员的交友乐园,也汇集了不少对软件开发感兴趣的人学习。甚至,一个活跃的 GitHub 帐号也能成为理想工做的敲门砖。

导入的代码仓库类型

某种意义上,分布式版本控制系统决定了选择哪一个代码存储服务,Bitbucket 在这方面脱颖而出,由于这是惟一同时支持 Mercurial.

Coding,GitHub 和 Bitbucket 支持导入基于多个不一样 VCS 的 repos,而 GitLab 只支持 Git。

毫无疑问,Git 是目前最受欢迎的 VCS,但若是你正在使用 Mercurial 或 SVN 存储库,那么迁移至 GitLab 可能会很复杂。GitLab 提供了简单方便的方式,用于从 GitHub 或其余平台上导入代码仓。

GitHub 支持:

  • 导入Git,SVN,HG,TFS.

GitLab 支持:

  • 导入Git.
  • 更容易从其余服务导入GitHub,Bitbucket,Google code,Fogbugz。

Coding 支持:

  • 导入Git,SVN,HG.

Bitbucket支持:

  • 导入Git,CodePlex,Google Code,HG,SourceForge,SVN。

免费计划哪家强

这 4 家服务提供商都提供免费计划,但当咱们仔细深究时,他们有一些重大差别。好比:

GitHub 的 Free Plans 容许托管无限的公有代码仓库,随时进行clone, fork 和 contribute,对磁盘使用没有限制。可是,项目不能超过 1 GB和单个文件不能超过 100 MB。

Bitbucket** 的 Small teams plan 容许 5 个成员加入,公有/私有仓库均免费。当项目大快到达 1GB 时,会有邮件通知。

GitLab 的 cloud-hosted plan 容许无限数量的用户在无限数量的公共和私有项目上进行协做,而且每一个存储库有 10GB 的空间限制,看起来很是有诱惑力。

Coding 的免费计划容许 10 个成员在无限数量的公共和私有存储库上协做,但强加了 1 GB 的总体存储限制。

由上面能够看到,GitLab社区版是惟一的自托管免费计划。若是你喜欢彻底控制代码库并维护本身的服务器资源,这绝对是最好的选择。有一个缺点是它只提供社区支持和一些更高级的功能,也不提供代码搜索。

谁的付费云托管计划更据优点


这四家的付费云托管计划都提供了无限数量的私人仓库和电子邮件支持。

GitHub的我的账户提供了和免费账户基本相同的功能,可托管无限数量的私人仓库。对于具备我的账户的用户数量没有限制,可是他们没法使用组织功能(例如,基于小组的访问权限),而且结算是独立完成的。GitHub组织计划起价为 $25 /月,5 人,每一个额外的用户收费为 $9 /月。

Bitbucket 云托管的成长团队计划包含 $10/10人/月 和 $100/月,不限制团队成员的数量。

Coding 有 2 个付费计划,最多 20 人的开发计划和 50 人的高级计划。这两种方案均可以托管无限数量的代码库,存储空间限制分别为 5 GB和 10 GB。值得一提的是,Coding 在这方面的计费选项更灵活,价格更具竞争力,也有更强大的技术支持,包括即时聊天和电话支持。

对比企业解决方案

比起 Cloud-Hosted Plans ,GitHub,GitLab 和 Bitbucket 的企业收费版本提供了更增强大的功能,各自的网站上提供了相对完整的收费表格,详情查看在:

Coding 的企业版没有透露任何订价和功能的细节。若是你正在考虑他们的解决方案,你须要联系团队。他们先评估需求,而后根据评估结果提供定制报价。

GitHub 的企业版起价为 $2500 /10人,每一年计费一次。除了部署自主服务器,GitHub Enterprise还能够部署到 AWS 和 Azure。

若是选择 Bitbucket ,只要 $10 /10人团队,11-25人团队则要 1800$。对比来看 GitHub 看起来有点贵。 Bitbucket Enterprise 版本有 2000 个用户的限制。若是你须要更多,能够去Bitbucket Data Center看看.

GitLab 企业版的收费策略是每位用户每一年 39 $,对用户数没有限制。它比 Bitbucket 贵一点,同时若是使用一些额外的工具和服务,价格也会上涨不少:

- 高级支持$ 99 /用户/年(最少100个用户)

- GitLab Geo $ 99 / user / year(no min users)

- Pivotal Tile $ 99 / user / year(no min users)

- 文件锁$ 99 /用户/年(无最小用户)

集成 flow.ci

除了写代码,咱们还须要自动化测试,CodeReview 、CI 集成等来提高代码的质量。GitHub,Bitbucket,GitLab和Coding 与 flow.ci 无缝链接,任意的代码仓库关联到 flow.ci只需几个步骤

总结

基于上面的介绍和比较,若是还有不清楚的地方,还能够看下 stackshare 上的 GitHub vs. Bitbucket vs. GitLab 的对比分析.

对于这四大代码仓库托管服务,功能最强大的,性价比最高的,最受欢迎的都不是最好的。在特定状况下,在只有适合本身的才是最好的。那么经过这篇对比,咱们也能够获得一些基础的实际的结论:

  • 若是你想要一个免费开源的解决方案,GitLab 也许比较吸引人;

  • 若是你正在开发一个开源项目想取得更多的关注,那 GitHub 毫无疑问是第一选择;

  • 若是你想要免费的私有库,并在使用 Atlassian 的其余产品(例如:Confluence,Jira, SourceTree...),代码托管在 Bitbucket 绝对用起来会很爽;

  • 若是你想要免费私有代码仓库,想得到更多的中文支持或正在使用 Coding WebIDE,Coding 明显更适合。

若是这 4 个代码托管服务都不是你所须要的,能够再看看国外的AssemblaCloudForgegogs ,国内的 code.csdngit@osc集盒TaoCode 等服务。若是你还有其余补充,欢迎评论留言。

相关文章
相关标签/搜索