技术开发 频道

GitHub、GitLab与BitBucket应该怎么选?

  【IT168 评论】代码存储库一直都是程序员的好帮手,尤其是在大型团队协作工作时,但是如何选择适当的代码存储库主机却让很多程序员感到困惑。如今,代码存储库多种多样,本文选取了三大主流的代码存储库,进行横向对比,希望能够对程序员有所帮助。

  什么是好的代码存储库?

  版本控制系统(或存储库)可以有三种主要类型:

  本地 - 所有开发人员都在同一个文件系统中。

  集中式 - 项目团队在中央服务器上具有单个项目副本,团队成员将更改提交给一个副本。

  分布式 - 开发人员在本地存储库中工作,更改在存储库之间共享。

  本文将着重讨论Git repos,因为Git repos是对开发团队最有效率的功能,首先我们看看一个好的repo中存在哪些组件。

  ·Pull request:当用户对源代码进行更改并将其推送到存储库时,他们的协作者将被通知以获得讨论和审查的更改。

  ·基于Web的代码审查。

  ·Editing:如果一个仓库建议实时和协作的编辑,它增加了很多回购的质量。

  ·Bug tracking:没有任何项目没有bug。所以当存储库允许协同跟踪和解决错误时,这是非常好的。

  ·支持缩写语法,使代码可读。

  ·双因素身份验证,确保用户帐号的保护。

  ·创建库的fork和clone。

  ·用户可以与任何需要的用户共享代码段或文件片段,包括团队成员,其他用户甚至自己。

  ·与第三方服务集成。

  ·导入资料库:当用户从一个服务转移到另一个服务时,存储库允许他们导入现有项目。

  ·开源许可证:有时,企业需要在自己的服务器上部署内部存储库,而不是使用现有的公共Web资源。本文介绍的三个存储库开源的只有GitLab,该系统具有良好的界面,易于安装。

  三大代码存储库如何选?

  目前,所有程序员使用的Git存储库主要有三个,本文会一一分析它们的利弊。

  GitHub

  GitHub是git存储库和协作项目开发的首选网站。该系统旨在允许用户轻松创建基于Git的特殊版本控制系统。为什么这么受欢迎?Git通过非线性开发历史的可视化工具和导航工具的帮助,支持流畅的版本合并和分割。现在,GitHub拥有5000多万个开源项目。

GitHub、GitLab与BitBucket应该怎么选?

  优点:

  GitHub有很多为人称道的功能,本文只列举其中几个:

  错误跟踪,此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。

  快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串。

  社区,截至2017年4月,GitHub的用户数量已经超过2000万。这个世界范围内极大的开发团队是共享经验和技能的重要来源。用户可以进行沟通,评论,编辑和跟踪新闻。

  共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载。

  协作开发,GitHub为团队管理提供了高效的功能。

  兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。

  支持Git,SVN,HG,TFS导入。

  缺点:

  GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。

  大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。

  GitLab

  GitLab服务也是基于Git版本控制开发的。尽管GitLab功能与其主要竞争对手GitHub类似,但仍有一些主要特点。GitLab有几种不同的形式,如适用于企业的GitLab SAAS,以及用户的个性化解决方案GitLab Community Edition。

GitHub、GitLab与BitBucket应该怎么选?

  优点:

  免费,这意味着用户可以拥有无限数量的私有存储库。当然为了满足客户要求,GitLab也有企业版,在其基本功能之上增加了一些额外的功能,从而改善了与在线工具,工作流和服务器管理等的交互。

  GitLab在开源许可证下运行。

  错误跟踪和基于Web的代码编辑。

  与LDAP(轻量级目录访问协议)集成,允许在Internet上定位和访问各种资源。GitLab EE支持多种LDAP服务和组同步。

  支持Git导入

  缺点:

  界面相对较慢

  存储库常见的技术问题。

  BitBucket

GitHub、GitLab与BitBucket应该怎么选?

  BitBucket服务也非常类似于GitHub,但是它的大部分功能也略有不同。BitBucket最适合小型开发团队,随着团队的成长,BitBucket提供了与GitHub和GitLab相比更温和的定价条件。BitBucket还为团队提供了灵活的部署模式。

  优点:

  对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。

  一个集成的查询管理系统。

  通过社交媒体和GitHub认证。

  集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息。

  导入现有Git项目。

  支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入。

  缺点:

  不开源

  系统不稳定

  如何选择?

  如前文所述,每个存储库都有其优缺点,也都有广大的程序员基础。

  这三个存储库管理服务中,只有GitLab是开源的。GitLab社区版的源代码在他们的网站上可用,企业版本是专有的。拥有最大数量的开源项目的GitHub本身不是开源的。Bitbucket也不是开源的,但是购买stand-alone 版本时,将提供完整的源代码与产品配置选项。

  综合多种情况,我们建议:

  如果您需要开源解决方案,请选择GitLab 。

  如果您喜欢使用Atlassian服务,BitBucket 是非常好的选择。

  GitHub 是承载开源代码项目的领先平台。

15
相关文章