五、Git 基本原理

1 哈希

在这里插入图片描述

  • 哈希是一个系列的加密算法,各个不同的哈希算法虽然加密强度不同,但是有以下几个共同点:
    ①不管输入数据的数据量有多大,输入同一个哈希算法,得到的加密结果长度固定。
    ②哈希算法确定,输入数据确定,输出数据能够保证不变
    ③哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很大
    ④哈希算法不可逆
    Git 底层采用的是SHA-1 算法。
    哈希算法可以被用来验证文件。原理如下图所示:
    五、Git 基本原理_第1张图片
    Git 就是靠这种机制来从根本上保证数据完整性的。

2 Git 保存版本的机制

2.1 集中式版本控制工具的文件管理机制

以文件变更列表的方式存储信息。这类系统将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
五、Git 基本原理_第2张图片

2.2 Git 的文件管理机制

Git 把数据看作是小型文件系统的一组快照。每次提交更新时Git 都会对当前的全部文件制作一个快照并保存这个快照的索引。为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。所以Git 的工作方式可以称之为快照流。
五、Git 基本原理_第3张图片

2.3 Git 文件管理机制细节

  • Git 的“提交对象”
    五、Git 基本原理_第4张图片
  • 提交对象及其父对象形成的链条
    五、Git 基本原理_第5张图片

3 Git 分支管理机制

3.1 分支的创建

五、Git 基本原理_第6张图片

3.2 分支的切换

五、Git 基本原理_第7张图片
五、Git 基本原理_第8张图片
五、Git 基本原理_第9张图片
五、Git 基本原理_第10张图片

你可能感兴趣的:(Git&GitHub,git,哈希算法)