Git、GitHub、GitLab三者之间的联系以及区别

在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转)

1.什么是 Git?

Git 是一个版本控制系统。

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

以前在没有使用版本控制的时候,我们通常在我们的项目根目录下这样命名项目:

project_v1、project_v1.1、project_v2等等,通过这种方式记录我们项目的不同版本的修改,

有的时候我们还会在不同版本的文件中写一个说明,记录此版本项目新增、修改,删除等操作。

这样的操作是很繁杂的,有的时候还可能因为一些非人为因素导致文件丢失这样的事故。

有了版本控制系统,我们就不用再手动进行一些繁杂的操作,并且对于文件丢失这种事故我们也不

用再担心,你可以随便回到历史记录的某个时刻。

 

早期出现的版本控制系统有:SVN、CVS等,它们是集中式版本控制系统,都有一个单一的集中管理

的服务器,保存所有文件的修订版本,而协同合作的开发人员都通过客户端连接到这台服务器,取出

最新的文件或者提交更新。

从网上找了一张图,展示一下它们的原理:

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

 

2.说一下集中式和分布式版本控制系统的区别:

集中式版本控制系统,版本库是集中存放在中央服务器的,工作的时候,用的是自己的电脑,所以,我们首先需要

从中央服务器上拉取最新的版本,然后开始工作,等工作完了,再把自己的工作提交到中央服务器。在这里借用廖

雪峰老师的一个比喻,中央服务器好比是一个图书馆,你要改其中的一本书,必须先要从图书馆里把书借出来,然

后更改,改完之后,再放回图书馆。

集中式版本控制系统的一个最大毛病就是必须联网才能工作,所以对于网络环境比较差的情况使用集中式版本控制

系统是一件比较让人头疼的事情。

 

分布式版本控制系统没有中央服务器的概念,我们使用相关的客户端提取的不只是最新的文件,而是把代码仓库完整

地镜像下来,相当于每个人的电脑都是一个完整的版本库,这样的话,任何一处协同工作的服务器出现故障,都可以

用任何一个镜像出来的本地仓库恢复。并且,即便在网络环境比较差的情况下也不用担心,因为版本库就在本地电脑

上。

 

个人总结:

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

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

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

以恢复中央仓库

从网上找了一张图,展示一下它们的原理:

 

3.GitHub 和  GitLab 都是基于 web 的 Git 仓库,使用起来二者差不多,它们都提供了分享开源项目的平台,

为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

GitHub 作为开源代码库,拥有超过 900 万的开发者用户,目前仍然是最火的开源项目托管平台,GitHub 同时

提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。

 

GitLab 解决了这个问题,你可以在上面创建私人的免费仓库。

 

GitLab 让开发团队对他们的代码仓库拥有更多的控制,相比较 GitHub , 它有不少特色:

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

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

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

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

(5) 通过 innersourcing 让不在权限范围内的人访问不到该资源;

 

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zen服务器芯片,服务器版Zen处理器简直大杀器:32核64线程,8通道DDR4内存

拼 命 加 载 中 ...在这次的E3展会上,AMD除了公布RX 470/460显卡之外,还跟雷蛇发了一款支持VR的背包PC,使用了RX480显卡,处理器则是AMD的Zen,8核16线程,这还只是桌面版的,要知道Zen处理器最重要…

欢迎与我一起交流安全管理平台

近期,51CTO给我开了一个专题讨论区(http://doctor.51cto.com/develop-241-1.html),为期一周,就安全管理平台这个领域的问题与大家交流分享。欢迎同好前往交流。在其中,我会分享仅代表我个人的一些体会和经验…

【赠书活动】优雅免费领书指南

快扶朕起来,我还要送书!在上一期的赠书活动上结束后。超模君就吩咐小树包装好书籍,寄给获奖的模友们!很多模友收到书籍都表示很不错,期望能再来一次赠书活动。这不,朕又想,超模君又想送书了&…

MySql 数据库基本设计规范

1、所有表必须使用Innodb存储引擎没有特殊要求(即Innodb无法满足的功能如:列存储,存储空间数据等)的情况下,所有表必须使用Innodb存储引擎(mysql5.5之前默认使用Myisam,5.6以后默认的为Innodb&a…

ASA防火墙16 SSL/×××

1、ASA的基本配置:Archasa(config)# int e0/0 Archasa(config-if)# ip add 192.168.0.1 255.255.255.0 Archasa(config-if)# nameif outside Archasa(config)# int e0/1 Archasa(config-if)# ip add 172.20.59.10 255.255.255.0 Archasa(config-if)# nameif i…

利用11行Python代码,盗取了室友的U盘,内容十分刺激!

作者:Python新世界 來源:简书https://www.jianshu.com/p/3d7b2d9fe679序言那个猥琐的家伙整天把个U盘藏着当宝,都睡觉了就拿出来插到电脑上。我决定想个办法看他U盘里都藏了什么,直接去抢U盘是不可能的,骗也是…

如何查询服务器是否安装系统时间,如何查看系统当前的NTP配置?

我试过了:w32tm /query /status我有:The command /query is unknown.在另一台机器上,我得到:The following error occurred: The service has not been started. (0x80070426)然后我尝试了:reg QUERY [\\machine\]HKLM…

鸡肋还是革新——Blazor进WinForm

winform是一老技术,感觉都有点掉牙了(我近20年前就是从winform开始接触.net的);blazor,是微软技术圈里的新宠,正在被悉心照顾。当这一老一少的技术碰撞后,会有什么火花?.net v6.0.0-…

一个女程序员征男友的需求说明书

前 言常听人说程序员的生活枯燥为人刻板,其实这是你不懂程序员。代码之外,生活之中,这些高智商人的幽默风趣,才华的展现往往能在「论坛」这个神奇的领域一窥究竟。(悲哀,因为给他们展现Coder之外才华的地方…

Linux锁定和解锁用户

1、禁止个别用户登录。比如禁止lynn用户登录。 passwd -l test 这就话的意思是锁定test用户,这样该用户就不能登录了。 passwd -u test 对锁定的用户lynn进行解锁,用户可登录了。 2、我们通过修改/etc/passwd文件中用户登录的shell vi /etc/passwd test:…

查看服务器物理内存大小,如何看服务器的物理内存大小

如何看服务器的物理内存大小 内容精选换一换JVM在执行Java程序时会把它所管理的内存划分为若干个不同的运行时数据区域,主要包括:程序计数器、方法区、虚拟机栈、本地方法栈和堆:程序计数器可以看作时当前线程所执行的字节码的行号指示器。方…

通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布...

之前的章节我们介绍了如何通过dapr发起一个服务调用,相信看过前几章的小伙伴已经对dapr有一个基本的了解了,今天我们来聊一聊dapr的另外一个功能——订阅发布目录:一、通过Dapr实现一个简单的基于.net的微服务电商系统二、通过Dapr实现一个简…

值得收藏的Python小技巧:这17个骚操作你都OK吗?

导读:Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短。在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找、分割和合并列表等,这 17 个技巧都非常简单,但…

常用药

上火 众生丸白云山-板蓝根同仁堂-牛黄解毒丸星群-夏桑菊穿心莲片银黄颗粒发炎 罗红霉素阿莫西林头孢拉定止咳 咽立爽口含滴丸感冒 999感冒灵维C银翘片白加黑桑菊感冒片仁和可立克羚羊感冒片呕吐腹泻 (加味)藿香正气丸保济口服液转载于:https://www.cnblo…

等待十年,史上第一个 64 位版 Visual Studio 将于今夏公开首个预览版!

昨日,微软在其开发者博客宣布了一则重磅消息——Visual Studio 2022 首个预览版将于今年夏季发布 ,并且终于成为万众期待的 64 位版!要知道,早在 2011 年就有用户在 Visual Studio 的反馈建议网站提出,希望微软开发 64…

普通人和程序员看到的树

IT程序猿 微博网友评论:小苏打_sct:我家门前有两棵树,一棵是二叉树,另一棵也是二叉树( _ゝ`)Christible_L:这不是多叉树吗 北辰找不着北:程序员都是从根看起的~ 洱海不语:先先总体到…

51CTO交流摘录(1):SOC的定义、适用性和组成

51CTO的安全管理平台交流已经结束了,有不少网友还是提出了一些比较好的问题,也帮我再次梳理一下对于安全管理平台的理解。这里我也跟大家分享一些交流的内容。 问题1:请问SOC是什么?什么样的安全运维管理平台更适合自己的企业&…

华为高性能服务器刀箱,云平台服务器刀箱

云平台服务器刀箱 内容精选换一换将外部镜像文件注册成云平台的私有镜像后,您可以使用该镜像创建新的云服务器,或对已有云服务器的系统进行重装和更换。本节介绍使用镜像创建云服务器的操作。您可以按照通过镜像创建云服务器中的操作指导创建弹性云服务器…

Magicodes.IE.AspNetCore之一行代码多格式导出

主要步骤1.安装包Install-Package Magicodes.IE.AspNetCore2.开始配置在Startup.cs的Configure()方法中,在UseRouting()中间件之后,注册如下中间件public void Configure(IApplicationBuilder app) {app.UseRouting();app.UseMagiCodesIE();app.UseEndpoints(endpoints >{en…

想不到吧,这些都能用R!

R作为一种统计分析软件,广泛应用于生物、医学、电商、新闻等数据相关行业,是目前主流数据应用软件之一。那么,R到底有哪些特别之处呢?实际上,R是统计领域广泛使用的S语言的一个分支,两者在程序语法上几乎一样&#xf…