本文翻译自:The .git Directory
我们知道,在使用 git clone 或 git init 命令后,都会出现一个隐藏文件夹 .git,可以使用 ls -ah 查看。
具体结构如下:
各文件(夹)的作用如下表:
文件(夹) | 类型 | 内容 | 作用 |
---|---|---|---|
config | 文本文件 | 见上图 | |
HEAD | 文件夹 | ref: refs/heads/master | 当前分支,即 git branch 命令显示的分支 |
refs/heads | 文件夹 | - | 本地库所有的分支 |
refs/heads/master | 文本文件 | 6975b… | master 分支最近一次 commit 的 SHA1 值 |
refs/heads/v1 | 文本文件 | fd70… | v1 分支最近一次 commit 的 SHA1 值 |
refs/remotes | 文件夹 | - | |
refs/remotes/origin | 文件夹 | ||
refs/remotes/origin/master | 文本文件 | 6975b… | |
refs/remotes/origin/v1 | 文本文件 | e01sd… | |
index | 文本文件 | - | 该目录某种程度就是缓冲区(staging area),内容包括它指向的文件的时间戳、文件名、sha1等。 |
COMMIT_EDITMSG | 文本文件 | “some commit description” | 最后一次 commit 的注释 |
ORIG_HEAD | 文本文件 | SHA1值 | |
FETCH_HEAD | 文本文件 |
待续。。。