Git&GitHUP(二)——————Git分支及Git的原理

关注微信公众号【行走在代码行的寻路人】获取Java相关资料,分享项目经验及知识干货。

  • Git的基本原理

哈希算法被用来验证文件是否损坏,git底层采用SHA-1算法来加密原式文件和目标文件后的值是否一致来判定文件是否损坏,从而达到数据的完整性。

Git&GitHUP(二)——————Git分支及Git的原理

  • 哈希

哈希是一个系列的加密算法,各个不同的哈希算法虽然加密强度不同,但是有以下
几个共同点:
①不管输入数据的数据量有多大,输入同一个哈希算法,得到的加密结果长度固定。
②哈希算法确定,输入数据确定,输出数据能够保证不变
③哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很大
④哈希算法不可逆
Git 底层采用的是 SHA-1 算法。
  • Git保存版本的机制

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

以文件变更列表的方式存储信息。这类系统将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。

      2.Git 的文件管理机制

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

      3.Git 文件管理机制细节

相当于一个链表的结构每个版本都会存放上一个版本的“版本号”,称之为“父版本号”,根据这个关系就能够切换版本之间的内容。 

  • Git分支

  • 什么是分支?

在版本控制过程中,使用多条线同时推进多个任务
  • 分支的好处

  1. 同时并行推进多个功能开发,提高开发效率
  2. 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任 何影响。失败的分支删除重新开始即可。
  • Git的分支管理机制

创建分支:相当于创建一个新的“指针”指向了一个版本号

切换分支:相当于把指针重新指向分支,只是移动指针到分支上或者主干上

如下图:master为主干,testing为分支,Head为指针

Git&GitHUP(二)——————Git分支及Git的原理

Git&GitHUP(二)——————Git分支及Git的原理

Git&GitHUP(二)——————Git分支及Git的原理

Git&GitHUP(二)——————Git分支及Git的原理

Git&GitHUP(二)——————Git分支及Git的原理