八个字形容git技术: 公司必备,一定要会


一.git概念:

git是一个免费的,开源的分布式版本控制系统,可以快速高效的处理从小型到大型的项目

二.什么是版本控制:

版本控制是一种一个记录一个或若个问价那内容变化,以便将来查询你特定版本修订情况的系统

三.为什么要使用版本控制:

软件开发中采用版本控制系统是个明智的选择

有了他你就可以将某个文件回溯到之前的状态,甚至将整个项目都退回过去某个时间点的状态

就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子

但额外增加的工作量却微乎其微,你可以比较文件的变化细节,查出最后是谁修改了那个地方,从而找出导致怪异问题出现的原因

四. 版本控制系统的分类

4.1 集中化的版本控制系统:代表svN

集中化的版本控制系统诸多如cvs,svn以及perforce等,都有一个单一的集中管理的服务器,保存所有文件的修订版本
而协同工作的人们都通过客户端连接到这台服务器,取出最新的文件或者提交更新,多年以来,这已成为版本控制系统的标准做法
这个做法带来了许多好处,现在每个人都可以在一定程度上看到项目中的其他人正在做些什么
而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来的轻松容易, 事分两面,有好有坏.这么做最明显的缺点是中央服务器的单点故障,如果服务器崩了一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作

4.2 分布式的版本控制系统

由于上面集中化版本控制系统的那些缺点,于是分布式版本控制系统面世了

在这类系统中,向git,bitkeeper等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整的镜像下来(每个客户端都是服务器)

更近一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互,这样你就可以在同一项目中分别和不同工作小组的人相互协作

这句话怎么解释呢.如图:

分布式的版本控制系统在管理项目时存放的不是项目版本在版本之间的差异,它存的是索引(所需磁盘空间很少所以没课客户端都可以放下整个项目的历史记录)

如果是集中化版本控制系统有1到100版本 那么想要回退到1版本只能从100打补丁到99 然后从99打补丁到98 ...所以要回滚到一会非常慢

如果是分布式版本控制系统: 最开始有个版本一 然后有个版本二下一次存储会将版本一和版本二的索引进行存储 所有到100也可以通过索引来回滚到版本一 但是后面越来越多 所以底层实现了极致的压缩算法,解压算法,这样会站的内存非常小

git引入_版本控制介绍的更多相关文章

  1. 2021 从零开始学Git【新版本Git - 8000字详细介绍】

    我写的这篇文章,主要是记录自己的学习过程,也希望帮助读者少踩坑(比如不同版本可能命令不兼容等).本文面向git零基础初学者,建议读者按照文中命令自己全部操作一遍(注意运行环境). 我的运行环境:win ...

  2. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  3. git使用的简要介绍

    GIT """ 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本 ...

  4. Git学习(一):版本控制介绍及安装

    一.VCS(版本控制系统)的演变 1.集中式VCS的特点 1)有集中的版本管理服务器: 2)具备文件版本管理和分支管理能力: 3)集成效率较没有版本控制(如:进行文件夹标注的方式)有明显地的提高: 4 ...

  5. Git记录-Git版本控制介绍

    git config命令用于获取并设置存储库或全局选项.这些变量可以控制Git的外观和操作的各个方面. 如果在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息: ...

  6. IntelliJ IDEA 下的版本控制介绍

    不管是个人开发或是团队开发,版本控制都是可以很好地被使用的,目前我找不到任何开发者不使用版本控制的理由.而且对于 IDE 来讲,集成版本控制的本身就是它最大的亮点之一,很多开发者也是为此而使用它. 在 ...

  7. 十二、IntelliJ IDEA 中的版本控制介绍(中)

    由于 IntelliJ IDEA 支持的版本控制工具非常的多,但咱们真正能够用到的也就两三个而已,因此在本篇博文中,咱们主要介绍 SVN.Git 和 GitHub 的配置方法. SVN 如果想要在 I ...

  8. 十一、IntelliJ IDEA 中的版本控制介绍(上)

    咱们已经了解了很多关于 IntelliJ IDEA 的使用方法,至少可以独立的运用 IntelliJ IDEA 进行项目开发啦!但是一个人进行项目开发更趋向于理想化,更多的则是团队协同开发.这时,咱们 ...

  9. 近期用到了Git,就简单介绍下具体用法吧

    pull:是下拉代码,相等于将远程的代码下载到你本地,与你本地的代码合并push:是推代码,将你的代码上传到远程的动作完整的流程是: 第一种方法:(简单易懂) 1.git add .(后面有一个点,意 ...

随机推荐

  1. 轻轻松松学CSS:Grid布局

    网页布局总的来说经历了以下四个阶段: 1.古老的table表格布局,现在基本已被淘汰. 2.float浮动布局(或者position定位布局),借助float.position 等属性等进行布局,这种 ...

  2. Docker开启远程连接,本地IDEA使用docker插件连接(不认证的版本和认证的版本都有)

    前言 在学校学习的时候,要部署一个Java程序,一般是打成war包,放到服务器上的tomcat的webapp里面去: 后来SpringBoot出现内置了tomcat,就直接打成jar包,丢到服务器任何 ...

  3. CMD/ENTROYPOINT区别

    CMD/ENTROYPOINT区别 相同点:都是指定一个容器:启动时要运行的命令 不同点(重点): CMD: dockerfile中可以有多个CMD指令,但是只有最后一个生效,CMD会被docker ...

  4. python中input()函数与print()函数

    一.input()函数详解 二.print()函数详解 三.类型转换

  5. 《罗辑思维》试读:U盘化生存

    <罗辑思维>试读:U盘化生存 何为"U盘" 记得有一次我到一个大学去讲课,我随机做了一个调查.我说大四啦,咱们班同学谁找着工作了,一堆人举手.我又问都加入什么样的组织了 ...

  6. ▶ 0001 No application 'E:\www\go\blog' found in your GOPATH

    go mod 配置 beego 首先cmd bee new blog go mod init 然后复制到任意目录 bee run 就会报错, 要退出该目录,进入上级目录 bee run blog 才行

  7. 第三章 TCP/IP 模型

    一.产生背景 1.伴随着计算机网络的飞跃发展,各大厂商根据自己的协议生产出了不同的硬件和软件 2.为了实现网络设备间的互相通讯,ISO和IEEE相继提出了OSI参考模型及其TCP/IP模型 二.TCP ...

  8. ES5新增数组的方法

    ES5新增数组的方法 ES5新增数组常见方法(indexOf/forEach/map/filter/some/every) .indexOf( data , start)  检测数组中是否存在指定数据 ...

  9. CDH+Kylin三部曲之二:部署和设置

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. 3分钟学完Python,直接从入门到精通

    作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键 ...