Git .git/objects 文件格式
524
2021-09-27
例如提交一份名为 content.md 的文件,文件内的内容如下
body1
body2
使用下面的命令提交
$> git add .
$> git commit -m "commit message1"
提交之后在 objects 文件夹下会产生三份文件
$> find .git/objects -type f
.git/objects/66/e859004701cf99bfa13667be837368870001c6
.git/objects/02/b52819578ba1c1e3c232ed3fc69422505a9955
.git/objects/a6/4f3d0b5b4a5fb731c6e0aef1e018e4a1b169e4
我们可以通过命令查看三份文件的内容
$> git cat-file -p 66e859004701cf99bfa13667be837368870001c6
tree a64f3d0b5b4a5fb731c6e0aef1e018e4a1b169e4
author zhixiangyuan <xxx@gmail.com> 1632754829 +0800
committer zhixiangyuan <xxx@gmail.com> 1632754829 +0800
commit message1
(base)
$> git cat-file -p 02b52819578ba1c1e3c232ed3fc69422505a9955
body1
body2%
(base)
$> git cat-file -p a64f3d0b5b4a5fb731c6e0aef1e018e4a1b169e4
100644 blob 02b52819578ba1c1e3c232ed3fc69422505a9955 content.md
(base)
可以看到第一份文件中存储的是文件的提交信息,其中 true 后面的 hash 值表示的是该次修改的文件的地址,通过命令查看 a64f3d0b5b4a5fb731c6e0aef1e018e4a1b169e4 可以看到该文件中存储的是改次修改的文件的相关信息,其中存储的另一条 hash 值是对应修改文件的具体信息
- 0
- 0
-
分享