执行了git init初始化后,当前文件夹的文件都将置于git管理工具的管理与跟踪当中。这个命令会在当前目录下生成.git文件夹,如果不要git管理了,直接删除这个.git目录即可。
.git目录如下:
- hooks:存放一些shell脚本
- info:包含git仓库的一些信息
- logs:保存所有更新的引用记录。logs文件夹有refs文件夹和HEAD文件
- (1)HEAD文件保存的是所有的操作记录,使用git reflog查询的结果就是从这个文件来的
(2)refs文件夹中一般会有两个文件夹: - heads: 存储所有本地分支的对象,每个本地分支名对应一个文件名称。这些分支文件中存储的是对应本地分支下的操作记录。使用git branch查看本地所有分支时,查询出的分支就是heads文件夹下所有文件的名称。
**remotes:**存储所有远程分支的对象,每个远程分支对应一个文件名称。这些分支文件中存储的是对应远程分支下的操作记录。 - objects:存放所有 git 对象,哈希值一共40位,前 2 位作为文件夹名称,后 38 位作为对象文件名
- refs:引用,一般有三个文件夹:
- (1)heads:存储所有本地分支的对象,每个本地分支名对应一个文件名称,文件中存储了分支最近一次提交commit对应的id(是一个哈希值)。
(2)remotes:远程仓库信息,其中\refs\remotes\origin\HEAD记录了当前分支指向的远程分支,即当前分支提交到的远程分支: - (3)tags: 发布重要版本时,用于标记此里程碑。
- COMMIT_EDITMSG:存储着最近一次的提交信息,Git系统不会用到这个文件,只是给用户一个参考
- config:存储当前仓库的配置信息
- description:描述信息
- HEAD:HEAD指针,它指向了当前分支,这个文件记录了当前分支是哪个分支。
- index:暂存区(stage),是一个二进制文件
谢谢阅读