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

【git】P1 git 分布式管理系统简介

目录

  • git 是什么
  • 版本控制系统
    • 集中式版本控制系统
    • 分布式版本控制系统

在这里插入图片描述

git 是什么

git 是一个免费开源的 分布式版本控制系统,它使用一个特殊的叫做 “仓库(repository)” 的数据库来记录文件的变化。仓库中的每个文件都有一个完整的版本历史记录(如下图),可以看到谁在什么时间修改了哪些文件的哪些内容,在需要的时候也可以将文件恢复至之前的版本。

请添加图片描述
图片来源:GeekHour Git 课程

如果没有版本系统,那么我们只能通过最原始的方式管理文件,比如将文件按时间备份出多个副本,或将整个项目的每个版本都保存在不同的文件夹中。

请添加图片描述
图片来源:GeekHour Git 课程

而当很多项目成员在同时修改同一个项目的时候,就需要手工来合并两个人的修改内容。这样不但低效,管理起来也非常麻烦~

版本控制系统

版本控制系统 就是为了解决这些问题而诞生的,有了版本控制系统,我们就可以跟踪每个文件的变化,让项目成员之间的协作更加高效。

目前世界上最流行的版本控制系统有两种,一种是集中式版本控制系统,比如SVN、CVS等等,另一种是分布式版本控制系统,比如Git、Mercurial等。

请添加图片描述

集中式版本控制系统

集中式版本控制系统的工作流程如下图所示,所有的文件都保存在中央服务器上,每个人的电脑上只保存了一个副本,当你需要修改文件的时候,首先需要从中央服务器上下载最新的版本,然后添加你想要的修改内容,修改完成之后再上传会中央服务器。

在这里插入图片描述

集中式版本控制系统的优点是使用起来非常简单,只需要从中央服务器上下载最新的版本,修改完成之后再上传到中央服务器上就可以了。但是其缺点也非常明显,就是中央服务器的单点故障问题 —— 如果中央服务器出现故障或者网络连接出现问题,那么所有人都无法工作。只能等待中央服务器或者网络恢复正常。


分布式版本控制系统

而分布式版本控制系统就没有这个问题(如下图所示),每个人电脑上都有一个完整的版本库,我们可以在直接在本地进行修改,不需要考虑网络等问题。这样即使中央服务器出现故障,我们也可以继续工作。当需要将我们的修改内容分享给其他人的时候,只需要将仓库互相同步一下就可以了。

在这里插入图片描述

因为免费开源、速度快、功能强大,支持离线工作以及强大的分支管理等特性,Git 已经成为了目前世界上最先进的分布式版本控制系统。世界上超过 90% 的开源项目都在使用 Git 进行版本控制。

在这里插入图片描述

Github、GitLab、Gitee 等网站上托管的开源项目,也都是使用 Git 来进行版本管理的。对于开发者来说,掌握 Git 是必不可少的技能,而这就是本系列博文记录和分享的核心。

http://www.dtcms.com/a/353805.html

相关文章:

  • linux安装docker compose
  • 企业如何构建全面的高防IP防护体系?
  • 【GPT入门】第60课 openCompose实践图文介绍指南
  • 【GM3568JHF】FPGA+ARM异构开发板 使用指南:USB接口
  • IBMS-建筑内分散的子系统(如 BA、安防、消防、能源、电梯等)进行数据互联、功能协同与智能管控
  • Linux--->网络编程(TCP并发服务器构建:[ 多进程、多线程、select ])
  • 动态规划:青蛙跳台阶
  • 红外对管模块传感器讲解
  • Spring Boot 多环境配置
  • HTML5入门学习
  • Linux下解压RAR文件到指定目录的完整指南
  • 学习设计模式《二十四》——访问者模式
  • 当传统金融遇上AI智能:一个开源AIStock系统的深度技术解析
  • net::ERR_CONTENT_LENGTH_MISMATCH 206 (Partial Content) nginx转发记录
  • 核心篇(下):Transformer 架构详解(程序员视角・实战版)
  • 从源码看浏览器弹窗消息机制:SetDefaultView 的创建、消息转发与本地/在线页通用实践
  • 2.渗透-.WEB运行原理-ZBlog安装(进一步理解数据库)
  • 深度学习——优化函数
  • Fast R-CNN论文研读整理记录
  • Lambda 表达式
  • 【菜狗学三维重建】TSDF三维重建隐式表达详细解释——20250413
  • pandas常用方法
  • 人工智能和机器学习如何改善机器人技术
  • 【VSCode】VSCode为Java C/S项目添加图形用户界面
  • YOLOv8-SMOT:一种高效鲁棒的实时小目标跟踪框架:基于切片辅助训练与自适应关联
  • 腾讯云 CVM 上的 SpringBoot 应用避免非法访问
  • Redis实战-优惠券秒杀解决方案总结大全
  • 开疆智能Profinet转EtherCAT网关连接TR-Electronic传感器配置案例
  • 部署网页在服务器(公网)上笔记 infinityfree 写一个找工作单html文件的网站
  • 分享 HTML 邮件开发的 15 个踩坑实录