首页技术文章正文

git、github、gitlab三者之间的联系以及区别?

更新时间:2021-11-19 来源:黑马程序员 浏览量:

IT培训班

1、git

git是一个版本控制系统。

版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系统。

早期出现的版本控制系统有:svn、cvs 等,它们是集中式版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同合作的开发人员都通过客户端连接到这台服务器,取出最新的文件或者提交更新。

而我们的主角git是分布式版本控制系统。git 已经成为越来越多开发者的青睐,因为分布式的优势是很显著的。

2、集中式和分布式版本控制系统的区别:

(1)分布式版本控制系统下的本地仓库包含代码库还有历史库,在本地就可以查看版本历史;

(2)而集中式版本控制系统下的历史仓库是存在于中央仓库,每次对比与提交代码都必须连接到中央仓库;

(3)多人开发时,如果充当中央仓库的 git 仓库挂掉了,任何一个开发者都可以随时创建一个新的中央仓库然后同步就可以恢复中央仓库。


3、github和gitlab

github和gitlab都是基于web的git仓库,使用起来二者差不多,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

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

gitlab解决了这个问题,你可以在上面创建私人的免费仓库,让开发团队对他们的代码仓库拥有更多的控制。

gitlab特色

(1)允许免费设置仓库权限;

(2)允许用户选择分享一个 project 的部分代码;

(3)允许用户设置 project 的获取权限,进一步提升安全性;

(4)可以设置获取到团队整体的改进进度;

(5)通过innersourcing让不在权限范围内的人访问不到该资源;所以,从代码的私有性上来看,gitlab是一个更好的选择。但是对于开源项目而言,github依然是代码托管的首选。



猜你喜欢

Git零基础入门到实战教程

什么是Git?Git发展历程

Python JsonPath解析json的方法

黑马程序员HTML&JS+前端课程

分享到:
在线咨询 我要报名
和我们在线交谈!