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

1、git

git 是一个版本控制系统。 版本控制是一种用于记录一个或多个文件内容变化,方便我们查阅特定版本修订情况的系 统。
早期出现的版本控制系统有:svn、cvs 等,它们是集中式版本控制系统,都有一个单一的集 中管理的服务器,保存所有文件的修订版本,而协同合作的开发人员都通过客户端连接到这台服 务器,取出最新的文件或者提交更新。
而我们的主角 git 是分布式版本控制系统。git 已经成为越来越多开发者的青睐,因为分布 式的优势是很显著的

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

2.1)分布式版本控制系统下的本地仓库包含代码库还有历史库,在本地就可以查看版本历 史
2.2)而集中式版本控制系统下的历史仓库是存在于中央仓库,每次对比与提交代码都必须 连接到中央仓库
2.3)多人开发时,如果充当中央仓库的 git 仓库挂掉了,任何一个开发者都可以随时创建 一个新的中央仓库然后同步就可以恢复中央仓库

3、github 和 gitlab

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

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

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

gitlab 特色

3.1)允许免费设置仓库权限;
3.2) 允许用户选择分享一个 project 的部分代码;
3.3) 允许用户设置 project 的获取权限,进一步提升安全性;
3.4) 可以设置获取到团队整体的改进进度;
3.5) 通过 innersourcing 让不在权限范围内的人访问不到该资源;

所以,从代码的私有性上来看,gitlab 是一个更好的选择。但是对于开源项目而言,github 依然是代码托管的首选

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容