如何打印存储在.git文件夹中的Git对象的内容?

时间:2016-03-10 04:48:05

标签: git

以下命令不会产生相同的输出:

cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc
git show --raw 96d0745960850e8ac97406311f3288b6d035cefc

我已经尝试了git showgit cat-file的各种选项,但我似乎无法匹配。我觉得这应该以某种方式得到支持。

具体来说,我想要the documented format。也就是说,我希望看到,标题,空字节等。

如果我跑:

cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc | zlib-deflate | hexdump

我看到该行以:

开头
0000000 62 6c 6f 62

对应于" b" " L" " O" " B"正如我所料。

如果您有点好奇,我的zlib-deflate脚本的内容是:

#!/usr/bin/env python

# Deflates a stream of bytes compressed via zlib that are passed to stdin.

import io
import sys
import zlib

# https://stackoverflow.com/q/6065173/396304
reader = io.open(sys.stdin.fileno(), mode='rb', closefd=False)
data = reader.read()
print zlib.decompress(data)

0 个答案:

没有答案