gitlab和github的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitlab和github的区别相关的知识,希望对你有一定的参考价值。

GITLAB是在GITHUB的基础上搭建的项目管理平台。
GITHUB上的项目一般是公有化的,私有仓库需要付费。
而GITLAB实在GITHUB基础上搭建的。在其上面建私有仓库是免费的。( 但是如果是企业版 需要授权费 就是说你可以免费建仓库,但是需要钱拿授权),有资源隐匿属性,就是非本公司员工(没有权限)是无法知道有这个资源存在的。
一般来说 你自己用的话一般采用GITHUB。公司层面一般使用GITLAB。
参考技术A

    Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等

    作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

    如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
    GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。


    GitLab - 基于Git的项目管理软件

    GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

拓展:

相同点是二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

参考技术B Git - 版本控制工具
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。[4]
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。
Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等
作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
如前所述,作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
GitLab - 基于Git的项目管理软件
GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

gitlab 原理

参考技术A

gitlab原理:

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

其实,说直白点写,他就是个git服务器,和github差不多,只不过,这个gitlab可以下载到本地进行搭建,代码存在本地服务器上,而不是放在远端的github上。

二者相比较如下:

gitlab                                                       github

安全性       代码存在本地,自行管控         代码存在远端,厂商管控

私密性       代码能见度自行设置                 免费的代码完全开放,付费的代码隐藏

成本           运维成本                                    代码隐藏

综上述:

要是企业中有服务器,建议搭建gitlab,毕竟代码放到自己这安心些

当然要是自己公司写的的代码不重要的话,可以放到免费版github上

以上是关于gitlab和github的区别的主要内容,如果未能解决你的问题,请参考以下文章

GitLab的使用(一)——浅谈git、github、gitlab的区别

jenkins和github的区别

gitblit 与github有啥区别

GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?

GitHub vs GitLab:区别?

GitHub vs GitLab:它们有什么区别?