之前说过Git具有最优的存储能力,是因为在使用Git过程当中,没有远端服务器的支持,在本地就能够做一个版本管控的系统。
一、Git的仓库
今天就带大家进入到.git这样一个裸仓库里面去看个究竟。
什么是Git的裸仓库?
就是一个文件夹,里边有一个.git隐藏文件夹,这就是Git的裸仓库。

之前跟大家介绍过是如何生成一个Git的仓库,当时在文件夹中执行git init
这样一个命令,那么创建完毕之后呢它会在当前路径下生成一个.git的文件夹,这个里面就装了git的最核心的东西,今天我们到.git文件夹里面去看一看。
二、.git文件夹
先进入到.git文件夹,看看里边的内容。

下面一一介绍经常使用的文件。
1、HEAD文件
进入到仓库中的.git文件夹,查看HEAD文件内容

内容ref: refs/heads/temp
中,ref表示是一个引用,说明现在的Git正在工作的分支是temp。
我们来验证一下,前边有*号的代表当前正在工作的分支。

这个就是HEAD文件给我们的信息,和它的作用,是。
2、config文件
进入到仓库中的.git文件夹,查看config文件内容

我表示什么也没有看懂,[core]下的内容可以自己扩展。我下面要进行一个配置。
执行语句 |
---|
git config --local user.name 'your_name' |
git config --local user.email 'your_email' |
再次查看config文件的内容

这个时候我们发现,多出了一个user的信息组。
这就是我们刚刚执行了两条git config --local
的配置语句所产生的配置数据。
说明:config文件是存放了当前本地仓库的配置信息。
扩展再次验证
我们直接修改.git/config文件,把user的name改成zhangshan

这时可以再查看一下local的配置,name变成了zhangsan

执行$ git config --local --list
命令,是把local所有的配置显示出来。
如果我们想要单独查看local配置中的某一个属性,直接
执行$ git config --local user.name
,user.name可换成上图中任意的属性名。

然后我想把这个属性通过配置local属性改回去,在看看.git/config文件是否有变动。
执行$ git config --local user.name 'your_name'

先查看一下local的配置是否改变

在查看.git/config文件中的user下name值是否改变

可以看到.git/config文件中的user下name值改变过来了。
以上通过直接修改.git/config文件内容,和通过命令行修改local配置信息,都能够达到同步。说明config文件是存放了当前本地仓库的配置信息。
这也就证明了Git学了就忘(6) 之 使用Git前配置实操中loca作用域部分所说,这里证明了。
这篇就说到这里,下次更新继续说。
网友评论