git工作原理
2017-09-29 13:51
148 查看
git是个使用非常广泛的版本控制工具,作为一名开发人员,需要对git的工作原理进行深入的了解,才能更好的结合到项目开发中。
想要了解git的工作原理,建议大家就从理解git的操作对象入手,因为整个的git流程是基于对象的。
一. blob对象
可以看做是文件的快照(相当于备份文件)。使用git每 add一次,文件就会产生一个blob对象,并产生一个哈希校验值为名的文件保存在本地的对象库中,也就是object文件目录中,文件夹除外。
二.tree对象
在git commit之后,就会产生一个tree对象,tree对象保存的是提交的文件目录结构,每次提交之后都会产生一个tree,保存每次提交的文件对应的目录结构,如果是重复提交的文件,就会保存指向于之前的blob对象。
三.commit对象
每次git commit之后,同时会产生一个commit对象,commit对象记录了当前的tree对象,上次提交对象,以及相关的提交信息。通过commit对象,可以完成git 的版本回退操作。
四.Head指针
指向当前的分支。
五.分支
分支的本质是指向commit对象的可变指针。
更多的深入理解可参考相关教程。
想要了解git的工作原理,建议大家就从理解git的操作对象入手,因为整个的git流程是基于对象的。
一. blob对象
可以看做是文件的快照(相当于备份文件)。使用git每 add一次,文件就会产生一个blob对象,并产生一个哈希校验值为名的文件保存在本地的对象库中,也就是object文件目录中,文件夹除外。
二.tree对象
在git commit之后,就会产生一个tree对象,tree对象保存的是提交的文件目录结构,每次提交之后都会产生一个tree,保存每次提交的文件对应的目录结构,如果是重复提交的文件,就会保存指向于之前的blob对象。
三.commit对象
每次git commit之后,同时会产生一个commit对象,commit对象记录了当前的tree对象,上次提交对象,以及相关的提交信息。通过commit对象,可以完成git 的版本回退操作。
四.Head指针
指向当前的分支。
五.分支
分支的本质是指向commit对象的可变指针。
更多的深入理解可参考相关教程。