当Git存储文件的快照时,它会存储一个名为blob的对象。
这是使用zlib..see http://nfarina.com/post/9868516270/git-is-simpler压缩的;或者我是盲人,或者他没有解释文件blob在第一个地方是如何解压缩的(而其他一切都被解释为就像一个菜鸟)
我们如何提取并查看blob的内容?谷歌搜索的大部分结果都适用于脚本/程序中的解压缩,而非手动/ CL:
Deflate command line tool, https://unix.stackexchange.com/q/22834
我正在寻找一个单行命令行方式在单个文件上执行此操作。
提前致谢!
(即使这个问题听起来像是重复一样,另一个链接中的答案也不会像这里那样准确。我认为这个帖子应该保持活着,或者这个答案会贴在那里以帮助其他人非复杂的放气方式)
答案 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(<>)'