测开小知识: 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/关注码同学公众号:自动化软件测试
本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。