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

目录
相关文章
|
15天前
|
安全 开发工具 git
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
132 5
git添加远程仓库报错To add an exception for this directory解决方案-优雅草卓伊凡
|
2月前
|
开发工具 git 开发者
Git流程控制:远程仓库操作的实用指南
通过遵循这些步骤和策略,你将能够更有效地与远程仓库进行交互,确保代码变更的透明度和项目历史的干净。同时,良好的版本控制习惯可以减少潜在的冲突,并帮助保持代码库的整洁。在日常工作中应用这些实用的Git流程控制技巧将是非常有益的。
120 0
|
5月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
6月前
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
249 22
|
4月前
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
230 0
|
9月前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
500 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
6月前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
3843 11
|
9月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
384 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
799 1
git学习三:git使用:删除仓库,删除仓库内文件
|
11月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
434 2