git原理

2018-08-17  本文已影响0人  小张同学_loveZY

git 工作区与暂存区

git-tree

.git目录分析

git init 时,Git 会创建一个 .git 目录

新建的git仓库的目录

老仓库的一个示例

git 对象内部存储

Git 是一个内容寻址文件系统,其实就是一个键值对数据库。

hash-object:命令存储数据对象,用值的hash值作为键存储数据

cat-file: 通过键获得值

git内部的数据组织为树结构,其中blob结构为文件,tree结构为文件夹,类似组合模式。

git-tree

内部指针关系图:


git-refs

分析

概念分析:

  1. 工作区,stash区,master区

  2. 指针:指向对应的工作分支 | 提交分支,每一个分支又通过内部指针关系建立起饮用关系,形成如同树结构的形式。这里每一个数据都是通过hash保存的,键为SHA-1加密字符串。

  3. 引用:git通过命名引用来指向分支,功能和指针一样,但是提供了可读的理解字段。

正常提交过程:

回滚过程:

等等等等。。。。。

上一篇 下一篇

猜你喜欢

热点阅读