在命令行

时间:2015-04-22 14:24:01

标签: git unix zlib compression

当Git存储文件的快照时,它会存储一个名为blob的对象。

这是使用zlib..see http://nfarina.com/post/9868516270/git-is-simpler压缩的;或者我是盲人,或者他没有解释文件blob在第一个地方是如何解压缩的(而其他一切都被解释为就像一个菜鸟)

我们如何提取并查看blob的内容?谷歌搜索的大部分结果都适用于脚本/程序中的解压缩,而非手动/ CL:

Deflate command line toolhttps://unix.stackexchange.com/q/22834

我正在寻找一个单行命令行方式在单个文件上执行此操作。

提前致谢!

(即使这个问题听起来像是重复一样,另一个链接中的答案也不会像这里那样准确。我认为这个帖子应该保持活着,或者这个答案会贴在那里以帮助其他人非复杂的放气方式)

1 个答案:

答案 0 :(得分:3)

使用git cat-file -p SHA1查看blob的文件内容。

该文件的内容为:blob XXX NULL Content

例如:

a.txt包含Hello World

SHA-1的内容是:

blob 11\000Hello World然后这个strign被GZipped

如果你在使用unix,你可以用它来缩小内容:
perl -MCompress::Zlib -e 'undef $/; print uncompress(<>)'