通过.git文件夹来看git设计

来源:互联网 发布:越狱iphone抹除数据 编辑:程序博客网 时间:2024/06/06 20:33

git本质上来说是用文件来实现指针的思想。

打开.git文件夹,我们看几个重要的文件。


1 入口文件,我选择HEAD

打开HEAD:ref: refs/heads/develop

指向了refs文件夹


heads,remotes,tags分别指向本地当前git操作的指针(其实就是git当前操作的文件号),远程的文件号,还有里程碑号

打开heads,


我创建了两个分支,分别是develop和develop_addbiggerArray,所以在heads目录下你看到了master和这两个文件。文件里面有什么内容呢?

26066e8e04682798f02a3070597a00b1f9aec926


一串字符。


这串字符代表什么呢?

打开我们的文件实体保存的位置objects文件夹:


全是文件夹,通过上面的字符串26066e8e04682798f02a3070597a00b1f9aec926,我们可以通过字符串的前两个字符26来定位文件夹。

文件夹里面是什么呢?便是我们每次add或者modigy的文件完整副本了。git不是通过差异化来存储,是通过copy被修改的整个文件来保存。


所以,为什么说“git本质上来说是用文件来实现指针的思想”,通过以上,可以看出端倪。


config文件保存了一些个人信息,可以让多人提交代码的时候系统写日志时把每个人提交的内容区分开来。知道哪个版本是谁改的。


0 0
原创粉丝点击