目录

1 版本控制系统

1.1 Git介绍

1.2 版本控制系统类型

1.2.1 分布式版本控制工具

1.2.2 集中式版本控制工具

2 Git GitHub 与GitLab 的关系

2.1 Git 与 GitHub GitLab

2.2 GitHub 与 GitLab

3 总结


1 版本控制系统

1.1 Git介绍

git是一个分布式版本控制系统。版本控制是一种用于记录文件的变化并且我们能够查找这些变化的系统,在有版本控制控制系统之前,我们通过的是使用project_1、project_1.1、project_2这样的命名方式来进行区别,有时还会在不同版本的文件中写一个说明用于记录项目的修改变化。这样的处理方式常常会因为人的操作失误而导致项目损坏,但在有了版本控制系统之后,对于此类事故也不用担心。因为版本控制系统还能够帮助我们回调到任意项目版本,人们也能通过该工具更好更便捷的管理版本控制。

1.2 版本控制系统类型

版本控制系统分为集中式版本控制系统和分布式版本控制系统。早期的版本控制系统比如SVN、CVS等等,它们都是集中式版本控制系统,而目前更多人使用的Git是属于分布式版本控制系统。

1.2.1 分布式版本控制工具

分布式版本控制工具没有中央服务器的概念,当我们使用客户端(自己的电脑)的时候,通过该工具(例如:git)所提取是整个代码库而不是单单的某个文件,也就是每个客户端都是一个完整的版本库,不用担心服务器出现故障,我们的电脑可以作为服务器来将代码库进行恢复 。由于整个代码库是在我们的本地的电脑上的(不用重复拉取历史版本的代码),因此我们即使在网络环境比较差的地方也能够很好使用。工作原理如下图:

1.2.2 集中式版本控制工具

集中式版本控制工具具有中央服务器,代码库是集中存放在中央服务器上的。我们的电脑(客户端)想要工作的时候需要从中央服务器拉取最新的版本,在工作结束之后再把我们的代码提交上去。集中式版本控制工具需要在联网的情况下才能使用(因为在查看历史版本的时候需要从中央服务器拉取之前的版本),因此对于网络的要求是比较高的。

集中式版本控制工具借用廖雪峰老师的比喻来说,中央服务器就是一个图书馆,当我们(客户端 即 自己的电脑)想要修改书的时候,需要先从图书馆里借到这本书,我们在修改完成之后再它归还给图书馆。这样完成了整个修改的行为。工作原理如下图:

2 Git GitHub 与GitLab 的关系

2.1 Git 与 GitHub GitLab

git是一种版本控制系统,是一种工具,用于进行代码的存储和版本控制。而GitHub和GitLab是基于git而工作的。它们是web的git仓库,是可以进行代码托管的平台

2.2 GitHub 与 GitLab

它们的功能是相似的,它们都提供了分享开源项目的平台,只是在一些细节上有点区别:

1.github是目前最大的代码托管平台,程序员能够在这互相交流学习(又因为男性用户多被戏称为最大的男性交友网站)。gitlab相比与github拥有更完善的界面权限控制,更多的用于学校、企业等情况。

2.对于开源项目,github是代码托管的首选。但是如果想要追求私有性的话,gitlab是更好的选择

3.它们都有能够创建私有仓库,都是github的私有仓库是要收费的

3 总结

对于git与github gitlab的区别,有人把它们比作魔兽和对战平台的关系,有人把它们比作周杰与周杰伦的关系。对于我个人的理解,我感觉git就相当是ios、安卓系统,而github、gitlab就是基于这些系统而诞生的不同品牌手机。或者说git是英雄联盟(一款MOBA游戏),而github、gitlab是wegame(英雄联盟启动器)。

Git 与 GitHub 、GitLab 区别(学习笔记)相关推荐

  1. git 和github的区别有哪些

    本文操作环境:Windows7系统.Git2.30.0版.Dell G3电脑. git 和github的区别有哪些? git与github区别与简介 git和github是两个完全不同的概念. git ...

  2. Git和Github的区别与操作简介

    文章目录 1,常见版本管理工具介绍 及 版本工具作用 2,git.GitHub和SVN比较 3,本地git基本使用命令 4,使用git操作GitHub 5,配置win10当前用户对GitHub所有项目 ...

  3. 适合小白的大白话讲解---Git与Github的区别

    本文由 伯乐在线 - 听风 翻译,艾凌风 校稿.未经许可,禁止转载! 英文出处:Red Radger.欢迎加入翻译组. 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有 ...

  4. github创建仓库-学习笔记

    一.创建github repository(仓库) 1-1 登录github github的官方网址:https://github.com ,如果没有账号,赶紧注册一个. 点击Sign in进入登录界 ...

  5. git和github的区别与简介,简单易懂

    一开始接触git或是github的程序员可能搞不太清楚这些名词到底指代的是什么,所以在这里稍微说明一下,git和github是两个完全不同的概念. git是一个版本管理工具,是可以在你电脑不联网的情况 ...

  6. Git Gitlib Github GitLab Gerrit 区别

    Git:是一种版本控制系统,是一个命令,是一种工具.是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.使用教程:https://git-scm.com/book/zh/v2,关于分 ...

  7. 浅谈Git原理和常用命令(学习笔记)

    因为多人和做的项目经常用Git但是对于git我总是不太理解,今天熬夜学习了一下 Git我们clone下来的项目的根目录下有一个 .git 的文件,这个不是我们的工作区,它叫做版本库,它来记录我们工作区 ...

  8. git与github的区别

    git 是一个版本管理工具,是一个软件. github是一个网站. 参考:https://blog.csdn.net/csdn_zad/article/details/80158303

  9. 《GitHub入门与实践》第3章 使用GitHub的前期准备——学习笔记

    文章目录 1. 使用前的准备 创建账户: 设置头像 设置SSH Key 添加公开密钥 使用社区功能 2. 实际动手使用 2.1 创建仓库 2.2 连接仓库 2.3 公开代码 3. 小结 1. 使用前的 ...

  10. token与sessionId的区别——学习笔记

    学开发半年多,之前一直有个疑问: 为什么要用token,好好的用sessionID不好吗 (其实就是新技术与老技术,但是还是想弄懂) 这个问题之前一直疑惑,今天搞懂了,整合了一下学习过程,先对比一下s ...

最新文章

  1. 知乎:中国工商银行南宁分行丢失2.5亿,工作人员个人行为,与银行无关
  2. MySQL规格列表(硬件优化上限)
  3. Beyond Compare启动出错解决方案
  4. python实现手机号归属地相关信息查询
  5. 虚拟机(centos系统)连接网络,xshell连接虚拟机
  6. 彩色粉末粉尘喷溅高清素材,让热烈气氛烘托到极致
  7. Source Insight 快捷键大全
  8. error C4703: 使用了可能未初始化的本地指针变量
  9. 常见笔顺错误的字_容易出错的汉字|汉字中哪些字笔顺容易错
  10. System.Data.SqlClient.SqlException: 用户'opper\ASPNET' 登录失败的解决办法!
  11. Gitter:高颜值GitHub小程序客户端诞生记
  12. 使用Java模拟登录
  13. Latex特殊符号、公式、颜色整合
  14. Java中Set接口
  15. 关于Typora的markdown编辑器行间距过大、不一致的问题
  16. 谈对Spring框架的大策大悟
  17. ubuntu16.04 titan rtx 24g +显卡驱动+cuda10.1+cudnn环境配置
  18. R346型多通道大功率高频读写器
  19. 环境监测 | 温度敏感性药品不同储运容器的温度监测方法
  20. 类变量、实例变量、类方法、实例方法

热门文章

  1. Semaphore是什么?
  2. 第五人格服务器维护8月,第五人格:各大活动相继登场,8月14维护更新公告
  3. python获取文档的真实创建时间(word、excel、ppt、pdf、图片)
  4. Android 单选按钮 下拉列表框
  5. Docker学习篇——使用Docker部署账单微服务项目
  6. java修改手机锁屏密码,深入理解Android M 锁屏密码存储方式
  7. 科技杂谈:浅谈人脸识别
  8. 前端监控与前端埋点方案
  9. linux ttf,Linux篇:linux安装字体
  10. Elasticsearch数据采集解决方案