Git,GitHub与GitLab的区别

从名称来看,这三者肯定有关系,具体见下文。

一、Git

Git 是分布式版本控制工具。

什么是版本控制?

版本控制是一种用于记录一个或多个文件的内容变化,方便个人或者多人合作时,对相关文件变动进行管理。

在没有版本控制工具以前,其实我们自己工作中也会进行版本控制。比如创建了一个文档,当需要修改的时候,怕修改前的文档找不到了,就备份一个文档。当备份太多了,就拿个小本本记录每次变动的内容、时间等。Git、svn等就是帮助实现版本控制

 

什么是分布式版本控制?

既然说道分布式版本控制(代表工具git),那么自然有集中式版本控制(代表工具svn)

集中式版本控制:

版本库是集中存放在中央服务器的,工作时,首先从中央服务器上下载最新版本的文件,然后在文件上进行编辑,编辑完成后再把编辑后的文件提交到中央服务器。

central-repo

分布式版本控制:

没有中央服务器的概念,自己的工作电脑就相当于一个版本库,也就是常说的本地仓库。如果多人之间需要相互合作,只需把各自的修改推送给对方,就可以互相看到对方的修改。但是实际操作中,一般来说都是很难点对点对接的,所以还是借助了一个中转站,也可以叫“中央服务器”。而GitHub和GitLab正是这样一个作用。

distributed-repo

二、GitHub

GitHub 作为开源代码库,基于 web 的 Git 仓库。拥有超过 900 万的开发者用户,目前是最火的开源项目托管平台GitHub 同时提供公共仓库和私有仓库,如果使用私有仓库,是需要付费的

三、GitLab

GiLab(https://about.gitlab.com/)是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

GiLab不仅有GitHub的功能,还有更多的优秀特性,最大的区别就是私有仓库免费

四、总结

  • Git是一种版本控制工具,用于文件的存储和版本控制。
  • GitHub是基于Git实现的在线代码仓库,是目前全球最大的开源项目代码托管平台
  • GitLab是基于Git实现的在线代码仓库软件,可以用GitLab自己搭建一个类似于GitHub一样的仓库,GitLab有完善的管理界面和权限控制
  • GitHub和GiLab都是基于Web的Git远程仓库,都提供了分享开源项目的平台,为团队提供了存储、分享、发布和合作开发的场所
  • 从代码的私有性上来看,GitLab 是更好的选择,对于开源项目而言,GitHub 是代码托管的首选
  • 一般企业内部软件产品用GitLab 是更好的选择,如果是开源产品,一般放在GitHub上

版权声明:本文为fengzelun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。