以下命令不会产生相同的输出:
cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc
git show --raw 96d0745960850e8ac97406311f3288b6d035cefc
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种选项git show和git cat-file,但我似乎无法让事情匹配。我觉得应该以某种方式支持这一点。
具体来说,我想要文档格式。也就是说,我希望看到标题、空字节等。
如果我运行:
cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc | zlib-deflate | hexdump
Run Code Online (Sandbox Code Playgroud)
我看到该行开头为:
0000000 62 6c 6f 62
Run Code Online (Sandbox Code Playgroud)
正如我所期望的那样,它对应于“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
# /sf/ask/424562141/
reader = io.open(sys.stdin.fileno(), mode='rb', closefd=False)
data = reader.read()
print zlib.decompress(data)
Run Code Online (Sandbox Code Playgroud)