当前位置: 首页 > news >正文

git基础使用--1--版本控制的基本概念

git基础使用–1–版本控制的基本概念

1.版本控制的需求背景,即为啥需要版本控制

  • 先说啥叫版本,这个就不多说了吧,我们写代码的时候肯定不可能一蹴而就,肯定是今天写一点,明天写一点,对于项目来讲,每天都在增多,每天都不一样,每天都是一个版本

  • 为啥需要版本控制呢

  • 因为有一天,你突然发现哇啦哇啦你今天写了一堆写错了,你想从昨天的开始重新写,可是这个时候你已经没有昨天的了,这可怎么办呢

  • 为了解决这个问题,就需要我们把每次的版本都记录保存下来,方便需要的时候找回

  • 那有些大聪明肯定想到了,把每天的代码复制一份,按日期命名
    在这里插入图片描述

  • 没毛病,但是是不是有点太麻烦了,而且如果要支持多人修改怎么办等等一系列如下问题

  1. 协同修改,病人并行开发
  2. 数据备份
  3. 版本和权限控制
  4. 误删找回
  5. 分支管理
  6. 等等
  • 这是就需要专业的版本控制系统来帮助我们实现。
  • 根据架构模式,可以分为集中式版本控制和分布式版本控制,分别以SVN和git为代表

2. 集中式版本控制SVN

  • 啥叫集中式,简单点说就是版本的控制都集中在一台中央服务器上,每个人可以吧自己的代码上传到服务器,也可以从服务器上下载
    在这里插入图片描述

  • 这种方式可以很好地实现版本控制,代码合并等功能,而且管理者可以轻松掌握所有人的开发进度,但是也有致命的弱点。因为他有唯一的中央服务器,如果这个服务器挂掉,那所有人都凉凉

  • 所以他有两个致命的弱点

  1. 单点故障
  2. 容错性差
  • 这就需要更先进的版本控制系统,于是git出现了

3. 分布式版本控制 Git

  • git在从服务器提取的时候,不是提取最新的文件快照,而是把整个完整的代码仓镜像下来形成本地库,这样每个程序员手里都有一份完成的本地代码仓,如果服务器挂掉了,可以从任何一个本地仓快速恢复。当然,如果本地仓有更新,也可以同步到服务器进行同步更新
    在这里插入图片描述

  • 这样即使在断网的情况下也可以进行开发,因为版本控制是在本地进行的

4. SVN和Git的比较

  1. SVN 是本地项目对服务器仓库,Git是本地仓库对服务器仓库
  2. SVN不支持离线工作,Git支持离线工作,版本控制在本地进行,服务器仓库相当于是一个同步总备份
http://www.lryc.cn/news/529916.html

相关文章:

  • “新月智能武器系统”CIWS,开启智能武器的新纪元
  • JVM运行时数据区域-附面试题
  • 增删改查(CRUD)操作
  • Vue.js `Suspense` 和异步组件加载
  • HTB:LinkVortex[WriteUP]
  • Linux命令入门
  • 【问题】Chrome安装不受支持的扩展 解决方案
  • 【题解】AtCoder Beginner Contest ABC391 D Gravity
  • 使用 SpringBoot+Thymeleaf 模板引擎进行 Web 开发
  • 【Java异步编程】CompletableFuture综合实战:泡茶喝水与复杂的异步调用
  • Nginx知识
  • Unity开发游戏使用XLua的基础
  • AI-ISP论文Learning to See in the Dark解读
  • OpenCV:开运算
  • 38. RTC实验
  • Flutter 新春第一弹,Dart 宏功能推进暂停,后续专注定制数据处理支持
  • 巴菲特价值投资思想的核心原则
  • C 或 C++ 中用于表示常量的后缀:1ULL
  • vue3中el-input无法获得焦点的问题
  • 程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<3>
  • (三)QT——信号与槽机制——计数器程序
  • Qt 5.14.2 学习记录 —— 이십이 QSS
  • Hot100之哈希
  • 油漆面积——蓝桥杯
  • 深度解析:网站快速收录与服务器性能的关系
  • 925.长按键入
  • JavaScript 中的 var 和 let :关键区别与使用建议
  • 寒假刷题Day19
  • 写好简历的三个关键认知
  • 工具的应用——安装copilot