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

摘要:
在本文中,我们以客观的态度和问题为出发点,从基本功能、开源和协作、免费和付费计划、企业解决方案和集成flow.ci方面介绍并比较了GitHub、Bitbucket、GitLab和编码,以便我们了解这四个功能不仅不同。开源和协作,谁是最好的选择GitHub、GitLab、Bitbucket和Coding都具有“发现”功能。与Cloud HostedPlans、GitHub、GitLab和Bitbucket相比,企业收费版本提供了更强大的功能。他们各自的网站提供了相对完整的收费表。有关详细信息,请参阅:GitHubGitLabBitbucket编码,企业版没有透露任何定价和功能细节。

来源于:https://www.v2ex.com/t/313263

目前在代码托管和版本控制上的主流工具 — Git ,比较流行的服务有 Github 、 Bitbucket 、 GitLab 、 Coding ,他们各自有什么特点,个人使用者和开发团队又该如何选择?

GitHub & Bitbucket & GitLab & Coding 的对比分析第1张

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

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

BitBucket 是 2008 年创建的源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统,同时提供免费账户和商业计划。 2010 年被 Atlassian 收购,与 Atlassian 的其他服务(Git GUI SourceTree 、 HipChat 、 Cloud9)顺利集成,主要面向慈善企业和企业用户 /其主要市场是大型企业。 GitHub & Bitbucket & GitLab & Coding 的对比分析第3张

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

GitHub & Bitbucket & GitLab & Coding 的对比分析第4张

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

GitHub & Bitbucket & GitLab & Coding 的对比分析第5张

基本特征

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

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

欲了解更多的功能和细节,可以直接去 BitbucketGitHubGitLabCoding相关页面了解。

哪个是开源的服务或产品

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

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

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

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

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

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

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

导入的代码仓库类型

GitHub & Bitbucket & GitLab & Coding 的对比分析第6张

某种意义上,分布式版本控制系统决定了选择哪个代码存储服务, 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 。

免费计划哪家强

GitHub & Bitbucket & GitLab & Coding 的对比分析第7张

这 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 & Bitbucket & GitLab & Coding 的对比分析第8张

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

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

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

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

对比企业解决方案

GitHub & Bitbucket & GitLab & Coding 的对比分析第9张

比起 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 只需几个步骤

GitHub & Bitbucket & GitLab & Coding 的对比分析第10张

总结

基于上面的介绍和比较,如果还有不清楚的地方,还可以看下 stackshare 上的 GitHub vs. Bitbucket vs. GitLab 的对比分析.

对于这四大代码仓库托管服务,功能最强大的,性价比最高的,最受欢迎的都不是最好的。在特定情况下,在只有适合自己的才是最好的。那么通过这篇对比,我们也可以得到一些基础的实际的结论:

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

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

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

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

如果这 4 个代码托管服务都不是你所需要的,可以再看看国外的AssemblaCloudForgegogs ,国内的 code.csdngit@osc集盒TaoCode 等服务。如果你还有其他更好的补充,欢迎留言。


flow.ci 是融入了 workflow 机制的持续集成( CI )服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。 1 分钟即可完成开发测试环境搭建,开启第一个 Build 。

免责声明:文章转载自《GitHub & Bitbucket & GitLab & Coding 的对比分析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何优雅的在java中统计代码块耗时layui结合SpringMVC上传文件以及携带额外的参数上传文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SourceTree 3.1.3 版本跳过bitbucket注册方法

https://www.cnblogs.com/fengxiaoliu/articles/11165375.html SourceTree 3.1.3 版本跳过bitbucket注册方法,而不是网上所谓的SourcetreeEnterprise跳过bitbucket注册方法。比网上其他要多一步. 1.下载并执行SourceTreeSetup-3.1.3.e...

342 版本控制系统:概述,本地版本控制系统,集中式版本控制系統,分布式版本控制系統

版本控制系统 为什么要有版本控制系统 在开发过程中,经常需要对一个文件进行修改,甚至删除,但是我们又希望能够保存这个文件的历史记录,如果通过备份,那么管理起来会非常的复杂。 什么是版本控制系统 版本控制系统(Version Control System):是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制主要的功能就是追踪...

Git的基础命令大全,拉取推送,分支,合并,冲突

命令如下:  1. clone(克隆): 从远程仓库中克隆代码到本地仓库  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订  3. add(添加): 在提交前先将代码提交到暂存区  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行...

git的搭建和使用

目录: 1、git与github介绍2、下载安装Git-20-64-bit.exe3、Git常用命令 git与github介绍 Git是什么 Git是一个开源的[分布式][版本控制系统],用于敏捷高效地处理任何或小或大的项目 版本控制器CVS/SVN/Git GIT客户端/代码托管网站(例如:github) 注1:类似的代码托管网站还有:github/码...

打造数字化软件工厂 —— 一站式 DevOps 平台全景解读

本文为 CODING 协同产品总监张路宇 在腾讯云 CIF 工程效能峰会上所做的分享。文末可前往峰会官网,观看回放并下载 PPT。 欢迎各位朋友,来到腾讯云 CIF 工程效能峰会的分论坛,我是 CODING 的产品经理路宇,很高兴能以这种方式与大家见面。在接下来的主题环节中,会由我先为大家带来 CODING DevOps 研发平台的产品理念和全景解读,我们...

未安装git lfs导致git下载不完整,没有错误提示

git clone命令没有报错。 --recursive选项也加上了。 cmake命令没有报错 make命令出错。 最后发现是因为没有安装git lfs,导致大文件下载不完整。最坑的是下载的时候也没有报错提示,下载速度异常的快。 关于git lfs的安装:https://www.cnblogs.com/zealousness/p/8747868.html...