V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Imshaha
V2EX  ›  推广

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

  •  
  •   Imshaha · 2016-10-17 11:08:57 +08:00 · 5769 次点击
    这是一个创建于 2964 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    基本特征

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

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

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

    哪个是开源的服务或产品

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

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

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

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

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

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

    在协作上, GitHub 是开源协作方面的首当其冲的选择。目前 GitHub 拥有全世界最大数量的公共开源项目,全球顶级科技公司( Google / Apple/ Facebook/ Twitter/ Microsoft/Alibaba/ Tencent)纷纷加入 GitHub ,全球顶级开源项目(Linux/ Nodejs/ Swift/ Ruby / 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 等服务。如果你还有其他更好的补充,欢迎留言。


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

    本文来自 flow.ci 官方博客,转载请联系:)

    38 条回复    2016-11-16 10:28:12 +08:00
    kslr
        1
    kslr  
       2016-10-17 11:55:25 +08:00
    我个人的看法啊, Github 是最好的平台可以购买套餐,免费可以用 Bitbucket ,不过随着 GIthub 数量的放开已经没有优势了;对于公司来说就看情况了,选择 Github 或 GitLab 。
    LU35
        2
    LU35  
       2016-10-17 12:00:12 +08:00 via Android
    好软
    expkzb
        3
    expkzb  
       2016-10-17 12:11:54 +08:00
    为啥没有 gogs
    dusong7
        4
    dusong7  
       2016-10-17 12:32:51 +08:00   ❤️ 1
    你的 头像 在一堆卡通中,简直是 一股清流。。。。
    viko16
        5
    viko16  
       2016-10-17 12:37:45 +08:00
    打听一下, coding.net / fir.im / flow.ci 是同一家公司么?
    lvye
        6
    lvye  
       2016-10-17 12:56:02 +08:00   ❤️ 1
    @viko16 不是, fir.im / flow.ci 是一家公司,在北京, coding.net 是另一家在深圳
    viko16
        7
    viko16  
       2016-10-17 12:58:04 +08:00
    @lvye 感谢科普!
    cnnblike
        8
    cnnblike  
       2016-10-17 12:58:29 +08:00
    当然是自己搭一个 gogs 最爽啊
    itisthecon
        9
    itisthecon  
       2016-10-17 13:09:31 +08:00
    GitHub 和 Bitbucket 都在用, 公开项目放 GitHub , 内部的放 Bitbucket
    ETiV
        10
    ETiV  
       2016-10-17 13:37:12 +08:00 via iPhone
    打算在 Github Enterprise 增加了类 Trello 特性后在家里服务器上装个
    akring
        11
    akring  
       2016-10-17 13:41:40 +08:00
    @Imshaha 你们的 flow.ci 啥时候才支持 iOS ,都说了半年了,一直没动静
    Garantion
        12
    Garantion  
       2016-10-17 13:59:27 +08:00
    上次贵司发帖说上线了,我去申请试用到现在还没音讯……
    Imshaha
        13
    Imshaha  
    OP
       2016-10-17 14:16:00 +08:00
    @expkzb 最后一段补充了 国外的[Assembla]( https://www.assembla.com/features/code)、[CloudForge]( http://www.cloudforge.com/)、[gogs]( https://gogs.io/) ,国内的 [code.csdn]( http://code.csdn.net/)、[git@osc]( http://git.oschina.net/)、[集盒]( https://geakit.com/)、[TaoCode]( http://code.taobao.org/) 等服务。

    你可能没看到:)
    Imshaha
        14
    Imshaha  
    OP
       2016-10-17 14:21:02 +08:00
    @akring 谢谢关注。前段时间在做 fir.im 的付费,最近才把更多精力放在 flow.ci .会上线 iOS 大概在 11 月初。
    @Garantion 申请试用后,没有收到邀请码吗?
    vtoexshan
        15
    vtoexshan  
       2016-10-17 16:22:03 +08:00
    头像好销魂
    Imshaha
        16
    Imshaha  
    OP
       2016-10-17 18:24:24 +08:00
    @ETiV 厉害!
    atpking
        17
    atpking  
       2016-10-17 18:30:03 +08:00
    照骗
    0915240
        18
    0915240  
       2016-10-17 21:05:48 +08:00 via Android
    头像好评
    SoloCompany
        19
    SoloCompany  
       2016-10-18 00:53:03 +08:00
    GitLab 有官方的 hosting 站点 gitlab.com
    Bitbucket 也有自建软件 stash
    CloudnuY
        20
    CloudnuY  
       2016-10-18 02:18:42 +08:00
    已申请,等 iOS~
    cnnblike
        21
    cnnblike  
       2016-10-18 02:59:33 +08:00
    @SoloCompany stach 居然只要 10 刀就可以永久用,惊了,好强啊
    SoloCompany
        22
    SoloCompany  
       2016-10-18 09:37:00 +08:00
    @cnnblike 只是 10 用户,没啥意义吧, 25 用户要一千八,五百用户要一万六每年!
    springx
        23
    springx  
       2016-10-18 09:41:20 +08:00
    首当其冲:比喻最先受到攻击或遭到灾难。
    yongSir
        24
    yongSir  
       2016-10-18 13:08:48 +08:00
    这个妹子发文频率还可以啊
    并且周周被周报推荐
    ...
    Imshaha
        25
    Imshaha  
    OP
       2016-10-18 16:02:22 +08:00
    @yongSir Hey, 什么周报呢?
    cnnblike
        26
    cnnblike  
       2016-10-19 01:03:37 +08:00
    @SoloCompany 等有 500 个程序员的时候基本上也不怎么在乎 16000 一年的费用了吧
    figofuture
        27
    figofuture  
       2016-10-19 10:45:56 +08:00
    akring
        28
    akring  
       2016-10-19 17:56:37 +08:00
    @Imshaha flow.ci 的付费标准大概有了吗?
    Imshaha
        29
    Imshaha  
    OP
       2016-10-24 13:53:58 +08:00
    @figofuture 厉害了~
    Imshaha
        30
    Imshaha  
    OP
       2016-10-24 14:09:54 +08:00
    @akring 内测到公测期间都是免费。具体的收费策略还没有完全确定下来,你有什么好的建议吗?
    akring
        31
    akring  
       2016-10-24 14:14:35 +08:00
    @Imshaha 木有,我之前也使用过一些国外的 iOS CI ,定价都不低的样子,公司开发没问题,个人开发者还是很难承受
    Imshaha
        32
    Imshaha  
    OP
       2016-10-24 15:22:53 +08:00
    @akring 我们应该没有国外 CI 的价格贵,具体定价在公测期之后:)
    akring
        33
    akring  
       2016-10-24 15:26:37 +08:00
    嗯嗯,期待 iOS 尽快上线
    Imshaha
        34
    Imshaha  
    OP
       2016-11-15 18:21:37 +08:00
    @akring
    @CloudnuY

    flow.ci 支持 iOS 了,邀请你们来试用下?
    需要你们的当时注册的邮箱 :)
    akring
        35
    akring  
       2016-11-15 19:00:53 +08:00
    @Imshaha 终于。。。难得你还记得来 @我们,先支持一个
    akring
        36
    akring  
       2016-11-15 19:03:42 +08:00
    @Imshaha 目前看还是没有 iOS 模板,需要提供邮箱给你吗?
    Imshaha
        37
    Imshaha  
    OP
       2016-11-16 10:26:29 +08:00
    @akring 嗯,你得给下注册申请邮箱~
    akring
        38
    akring  
       2016-11-16 10:28:12 +08:00
    @Imshaha 确认下微信吧,不想公开发邮箱。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3553 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:11 · PVG 19:11 · LAX 03:11 · JFK 06:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.