Git-第一章:Git概述

2023-11-19

第一章 Git概述

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种
项目。
Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具

1.1 何为版本控制

  • 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。
  • 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。

1.2 为什么需要版本控制

个人开发过渡到团队合作
在这里插入图片描述

1.3 版本控制工具

集中式版本控制工具

CVS、SVN(Subversion)、VSS……

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

分布式版本控制工具

Git、Mercurial、Bazaar、Darcs……

  • 像 Git 这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份
  • 分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
  1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
  2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
    在这里插入图片描述

1.4 Git简史

在这里插入图片描述

1.5 Git工作机制

在这里插入图片描述

1.6 Git 和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

  • 局域网
    • GitLab
  • 互联网
    • GitHub(外网)
    • Gitee 码云(国内网站)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git-第一章:Git概述 的相关文章

随机推荐

  • qt orm 基于Qt的ORM框架QyOrm,类似peewee,最简单的语法,最高效的使用

    QyOrm Gitee传送门 支持功能 AutoGenerate根据数据库表自动生成类的定义代码 外键 实例化 联合查询 特殊查询 Json的读取和保存 QT GUI常见input widget 的双向绑定 以下是使用的例子 手动 类的定义
  • 第一篇:PyGame小游戏——2D迷宫游戏(16W字详解)

    目录 在开头的开场白 在CSDN看到一篇 利用深度优先算法自动生成随机迷宫 的blog 突发灵感 就想做这个迷宫游戏 本文大部分讲的意思 而非代码 文章最后会展示最终代码和图片的 读者不用过多地注意那些 本文是作者第一次写blog 难免有些
  • 【Java编程】关于Java的几个基础问题

    关于Java的几个基础问题 String 和 StringBuffer 和 StringBuilder 的异同 相同点 三者在 Java 中都是用来处理字符串的 三个类都被 final 修饰 因此都是不可继承的 StringBuilder
  • 超级等级福利礼包

    文章目录 一 介绍 二 设计等级礼包的目的 1 提升游戏玩家活跃度 2 提升游戏用户吸引力 3 提高游戏用户留存率 4 实现间接收入 5 持续营收 三 玩家心理总结 四 总结该模式的赢利点 五 该模式的应用场景举例 一 介绍 超级等级福利礼
  • 二分查找(C语言版)

    刚刚学到到的知识 掌握的不怎么好 如有不足麻烦留言 第一步 先理清你要查找的数组 最好是有序排序的数组 本人还没学到数组的排序就只能用有序的数组来 int arr 10 1 2 3 4 5 6 7 8 9 10 第二步 计算出该数组的长度
  • MATLAB(1)MATLAB工作环境

    目录 工具栏 当前文件夹窗口 命令行窗口 工作区 文件编辑窗口 图形 Figure x 窗口 本文基于MATLAB R2020b MATLAB刚打开时 一般如下图所示 包括上方的工具栏 左侧的当前文件夹窗口 中间的命令行窗口以及最右侧的工作
  • 考研机试题 -- 字符串、背包、枚举

    目录 首字母大写 字符串 日志排序 字符串 双关键字排序 字符串转换整数 字符串 点菜问题 01背包 神奇的口袋 01背包 计数 整数拆分 完全背包 计数 CCF201512 2 消除类游戏 枚举 首字母大写 字符串 https www n
  • 全球排名第一的免费开源ERP Odoo替代料管理应用解决方案

    本文节选自Odoo亚太金牌服务机构 开源智造 所编写的 ERP真的免费不花钱 Odoo应用指南 如需获取完整的知识内容 请至开源智造官网免费获取 感谢网友一键三连 点赞 转发 收藏 您的支持是我们最大的前进动力 电子行业产品竞争激烈 升级换
  • 【QT学习】实现MVC框架的简易封装(一文读懂)

    文章目录 前言 一 MVC框架简介 1 核心部件 2 使用目的 3 MVC优点 二 具体封装步骤 1 文件管理 2 创建模型 3 创建控制器 4 MVC实现 用户登录验证为例 总结 前言 MVC Model View Controller
  • Spring Boot中的JSON技术

    Spring Boot中的JSON技术 SpringBoot在处理对象的序列化和反序列的时候 底层用的是Jackson 来完成数据到实体类 实体类集合的映射 我们开发会指定 RequestBody ResponseBody 这样的注解 而了
  • java Map集合

    目录 一 介绍 二 HashMap 三 TreeMap 四 LinkedHashMap 一 介绍 Java中的Map是一种键值对的集合数据类型 用于存储无序的 不重复的键值对 它提供了快速的查找和访问功能 可以根据键来获取值 常见的Map实
  • ssh问题集锦

    Linux SSH连接提示 找不到匹配的host key算法 删除 etc ssh ssh host 修改 etc ssh sshd config KexAlgorithms diffie hellman group1 sha1 Ciphe
  • 如何撰写出色的软件专利技术交底书

    目录 目录 1 引言 2 技术交底书的基本要素 2 1 基础信息 2 2 缩略语和关键术语定义 2 3 发明名称 2 4 技术背景 2 5 技术方案 2 6 优点及效益 2 7 技术资料 附件 参考文献 3 准备工作 3 1 前期调研 3
  • OpenWRT初始化备份还原操作步骤

    初始化操作步骤 修改密码 ssh root 192 168 1 1 修改IP 添加网关 添加DNS vim etc config network 关闭dhcp vim etc config dhcp 修改时间 重启网络 service ne
  • 直流电机H桥的三种驱动方式:受限单机模式,单极模式,双极模式

    一 引出 1 简单的开关串联电机只能控制有刷直流电机的启停 要同时控制正反转和转速就要引入H桥式控制电路 2 对4个开关管的控制采用PWM 调节占空比可以实现调速 PWM频率一般在10KHz到20KHz之间 频率太低会导致电机转速过低 噪声
  • 对象作为数据成员

    02 Copyright c 2013 烟台大学计算机学院 04 作 者 马德鹏 05 完成日期 2014 年 4 月 4 日 06 版 本 号 v1 0 07 include
  • “鸿蒙”商标被抢先注册,华为上诉失败,鸿蒙系统将被迫改名?

    作为我国最著名的手机通讯企业之一 华为凭借着无与伦比的创新设计与可靠实用的用户体验 一度成为了国内最受欢迎的手机品牌 此外 华为手机在海外市场的销量也不遑多让 不仅质量优异 在通讯的稳定性与可靠性上 华为手机甚至胜过苹果 但是 因为众所周知
  • C++11中类数据成员初始化方法详解

    C 98为类中提供类成员的初始化列表 类对象的构造顺序是这样的 1 分配内存 调用构造函数时 隐式 显示的初始化各数据成员 2 进入构造函数后在构造函数中执行一般计算 1 类里面的任何成员变量在定义时是不能初始化的 2 一般的数据成员可以在
  • ARoute源码分析之初始化过程

    已在多个项目中使用ARoute实现组件化间的路由通信 但是一直没有很完整的阅读过ARoute框架的源码 刚好这段时间想拜读一些知名框架的源码 那就从熟悉的ARoute开始吧 若有错误的地方欢迎大家指正 本篇博客就从ARoute的初始化流程开
  • Git-第一章:Git概述

    第一章 Git概述 Git 是一个免费的 开源的分布式版本控制系统 可以快速高效地处理从小型到大型的各种 项目 Git 易于学习 占地面积小 性能极快 它具有廉价的本地库 方便的暂存区域和多个工作流分支等特性 其性能优于 Subversio