Git仓库目录探秘

简介: 本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 Git本地仓库 每一个Git项目下都会有一个.git目录,里面包含了整个git仓库的信息数据。

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

Git本地仓库

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

首先我们创建一个新的git仓库,这个用git init或者git init 文件夹名命令就行了。

git init test_git

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

初始项目目录

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

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

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

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

info目录下面的refs目录

objects目录:

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

objects目录里面可以分为2部分:info目录和pack目录、其他元数据。其他数据都是类似这样的:

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

目录
相关文章
|
3月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
IDE 网络安全 开发工具
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
【Azure App Service】Local Git App Service的仓库代码遇见卡住不Clone代码的问题
|
10天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
28 2
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
147 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
65 4
|
1月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
56 4
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
193 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
2月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
548 6
|
2月前
|
Linux 开发工具 git
linux自建仓库git之钩子不生效
linux自建仓库git之钩子不生效
|
1月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)