测开小知识: Git目录下都放了什么

每天进步一点点,关注我们哦,每天分享测试技术文章

本文章出自【码同学软件测试】

码同学公众号:自动化软件测试,领取资料可加:magetest

码同学抖音号:小码哥聊软件测试

git具有最优的存储能力,在没有远端git服务器的情况下,git本地就可以独立作为版本管控系统,这其中.git裸仓库中起了关键作用,那么我们一起来看看.git下都放了哪些文件。

 

打开Git Bash,切换到项目目录,具体命令,如下所示:

$ pwd
$ ll
$ cd git-rainbow/
$ ll
$ cd mtxcrm/
$ ls -la

之前我们了解过如何生成一个git仓库,使用命令git init,创建完毕后,它会在当前路径下生成.git文件夹(或者叫目录),这个里面就装了git最核心的信息,我们一起来探秘.git中都有哪些内容。

先通过以下命令进入到.git目录。

 

01

Git目录下文件清单

 

 

 

然后看看我的.git目录下都有哪些文件?

通过以下命令获取:

cd .gitdist

 

02

HEAD

 

 

 

以上这么多文件,哪些是我们经常使用的呢?

HEAD就是我们经常要使用的文件,这个文件中存放的是什么内容呢?

cd .gitdist

 

这个文本文件中指出,这是一个引用,通过什么看出来的?通过ref:看出来的。

一说到引用肯定是有指向的,这个引用具体指向哪里呢?refs/heads/temp

之前为了演示git log创建了temp分支。

git branch -av

 

*号标记,表示我们当前所在的工作分支。

 

HEAD文件中存的这个引用,说明我当前本地的git仓库中,正在工作的分支是temp。

 

那么,此时我们做切换分支操作,HEAD文件中的内容会变吗?

我们执行切换分支命令,如下所示:

git checkout master

 

执行切换master分支命令,提示我们,这个操作必须运行在工作路径下。

因此,我们来查看下我们当前的目录是不是工作目录。

pwd

通过以下截图可见,我们在.git目录下,确实没有在工作目录下。

 

然后我们执行如下命令切换到工作目录下:

cd..

 

然后再次执行刚刚的切换master分支命令。

cat .git/HEAD

 

然后我们再来查看.git下的HEAD文件中的内容。

cat .git/HEAD

从以下接口可见,HEAD文件中的内容发生了变化,

之前HEAD文件中的指向是temp,现在变成了master。

 

也就是说,当我们切换分支的时候,HEAD文件中的内容跟着替换为当前分支名称。

告诉我们,我们当前的工作分支是哪个分支。

以上就是.git目录下HEAD文件存放内容的说明。

免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:magetest

 

03

config

 

 

 

除此之外,我们还可能会经常接触config这个文件。

 

我们先来看看config文件中有什么信息?

cat .git/config

 

这里面我们比较熟悉的是,如下截图所示,[user]块中的内容,之前我们介绍config的时候,

 

如果在当前仓库下面用local的方式,给用户的name以及email,同global不同的情况下,

执行git config local操作,就会将相应的信息记录在config文件中,我们可以验证下。

 

将name值改成rainbow,然后保存退出。

vi .git/config

这个config修改后,是不是直接影响到local配置呢?我们执行命令试试。

git config --local --list

如下截图所示,返回的信息太多,我们仅仅想知道username信息

 

这个时候可以用另外一个命令查看,git命令后面直接跟你关注的东西

git config --local user.name

从如下命令返回结果信息,可见我的账号确实更改了。

 

验证完毕,我们需要将自己的账号信息改回去,用什么命令?使用如下命令进行重新指定

git config --local user.name 'helen'

注意:user.name后面是空格,而不是等号。

 

然后我们再查看config文件是否账号变更回helen。

先通过命令查看账号是否变更为原来的helen。

git config --local user.name

通过如下截图可见,账号变更为原来的helen。

 

然后我们再来查看config文件下的账号是否也变更为原来的helen。

cat .git/config

从如下截图可见,配置文件config中name值也变更回原来的helen。

总结,.git目录下的config文件中,存放的是git的配置信息,更确切的说,是跟本地仓库相关的配置信息都保存在config这个文件中。

免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 ☞ 可加:magetest/关注码同学公众号:自动化软件测试

本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

posted @ 2022-11-18 09:34  码同学软件测试  阅读(37)  评论(0编辑  收藏  举报