Git学习笔记(2) --- References探寻
在上一篇文章Git学习笔记(1) --- 内部存储模式中,已经说了git的内部存储模式以及.git/objects文件中的内容,这一篇文章主要讲讲git内部的references。
References简介
git 除了会存储提交历史,还会存储当前仓库里有哪些分支,哪些tag,以及他们各自对应的commit id;还有当前的HEAD的指向。而这些都是references的工作。
references的本质是:用于存储指向特定commit的指针。主要包括以下几个内容:
References内容
braches文件夹会存储当前仓库所有的分支,并为每一个分支创建一个单独的文件,分支名就是文件名,如上图,当前仓库就只有一个master分支。
那master文件里面存储的是什么呢?
从上图可以看出,master分支当前的最新的提交是adf0e13,所以master文件存储的就是最新提交的commit id。另外,此时HEAD指针是直接指向master,和master对应的是同一个commit,所以此时HEAD文件内容就是:
如果HEAD指向commit和其他的分支最新提交是一致的,那么HEAD文件的内容就和上图类似,不同就是分支名;如果HEAD是指向其他的commit,与所有的分支指向的都不一致时(例如checkout到之前的提交),此时HEAD文件直接储存所指向的commit id,与master文件类似。
此外,tags文件的存储模式与braches的存储模式一致,因此不再赘述。
如果对本文有什么意见和建议,欢迎讨论和指正!!!
总结
以上是生活随笔为你收集整理的Git学习笔记(2) --- References探寻的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [转]mysql优化——show pro
- 下一篇: IE继续努力吧