Git仓库目录探秘

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一块儿天天进步一点点git

Git系列

Git本地仓库

每个Git项目下都会有一个.git目录,里面包含了整个git仓库的信息数据。咱们首先来认识一下这个目录。bash

首先咱们建立一个新的git仓库,这个用git init或者git init 文件夹名命令就好了。微信

git init test_git
复制代码

上述命令执行完之后,就会建立一个文件夹test_git,里面有一个.git目录,里面包含了一个初始的git仓库的全部信息。markdown

初始项目目录

其中主要几个文件及目录:post

config文件:保存的是当前工程的一些配置信息,包括远程仓库地址、本地分支和关联的远程分支信息、当前工程的用户名和密码(若是为当前工程配置过)等spa

HEAD文件:里面保存的是工程当前所在的分支code

info目录:里面通常会有2个文件,exclude通常用不到,另外一个文件是refs文件,里面保存的是全部分支所指向的提交(commit)列表orm

info目录下面的refs目录

objects目录:

里面保存的是工程的全部元数据,包括文件的每一个版本数据,每一次提交的信息等等。对象

objects目录里面能够分为2部分:info目录和pack目录、其余元数据。其余数据都是相似这样的:rem

objects目录

refs目录:

这个目录保存的是分支信息和标签Tag信息,又分为3个子目录:

  • remotes目录:这个目录里面是远程仓库的分支信息,通常只有一个远程仓库的话,下面就只有一个子目录,也就是origin,里面就是远程的分支在本地的记录
  • heads目录:这个目录里面是本地的分支
  • tags目录:里面是标签信息
其余的文件和目录:

logs目录:Git 会默默地记录每一次你改变 HEAD 时它的值,包括每一个分支的HEAD的改变记录

hooks目录:这里面是钩子脚本

modules目录:这里面是Git子模块,Android中的AppShell相关的信息就保存在这里面

index文件:这里就是咱们平时说的 暂存区 ,保存了下次将提交的文件列表信息,咱们执行git add后这里就会更新刚刚添加的文件信息

logs目录:这里面的信息实际上也很重要,里面记录了咱们本地仓库中全部分支的commit提交(包括已经reset)的信息,其实是HEAD的变更都会记录在里面,包括分支操做和commit相关的操做


欢迎关注个人公众号查看更多精彩文章!
复制代码

AntDream
相关文章
相关标签/搜索