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支持离线工作,版本控制在本地进行,服务器仓库相当于是一个同步总备份
相关推荐
流浪0017 小时前
Git篇(三):吃透远程协作:SSH 密钥、分支、标签全流程实战指南
运维·git·ssh
莫成1 天前
git相关命令查阅
git
ljh5746491191 天前
git stash 和 git stash apply
git
御坂嘀喵1 天前
Speed Tools:一套低侵入的 Android 插件化 + 动态换肤 + 字体切换框架
android·gitee
慕容引刀1 天前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
敲代码的嘎仔2 天前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
刘马想放假2 天前
Git 从入门到进阶:一篇吃透版本管理的实战指南
git·gitlab
开发者联盟league2 天前
git commit报错No .pre-commit-config.yaml file was found
git
猫老板的豆2 天前
git实战
git
风曦Kisaki2 天前
# Linux实战笔记-HIS项目实战Day01:版本控制与Git基础
linux·笔记·git