为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用命令行工具进行DEFLATE提取git对象?

如何使用命令行工具进行DEFLATE提取git对象?

Git
桃花长相依 2019-12-18 16:47:01
我正在寻找DEFLATE算法的命令行包装。我有一个使用DEFLATE压缩的文件(git blob),我想将其解压缩。gzip命令似乎没有直接使用DEFLATE算法的选项,而不是gzip格式的选项。理想情况下,我正在寻找可以做到这一点的标准Unix / Linux工具。编辑:这是我尝试使用gzip解决我的问题时得到的输出:$ cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 | gunzipgzip: stdin: not in gzip format
查看完整描述

3 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

您可以使用OpenSSL命令行工具执行此操作:


openssl zlib -d < $IN > $OUT

不幸的是,至少在Ubuntu上,zlib子命令在默认的构建配置(--no-zlib --no-zlib-dynamic)中被禁用,因此您需要openssl从源代码进行编译才能使用它。但是,例如,默认情况下在Arch上启用了此功能。


编辑:似乎该zlib命令也不再受Arch支持。这个答案可能不再有用了:(


查看完整回答
反对 回复 2019-12-18
?
慕容708150

TA贡献1831条经验 获得超4个赞

您可以使用zlib-flate,如下所示:


cat .git/objects/c0/fb67ab3fda7909000da003f4b2ce50a53f43e7 \

    | zlib-flate -uncompress; echo

默认情况下,它在我的计算机上,但是qpdf - tools for and transforming and inspecting PDF files如果需要安装,它是其中的一部分。


我echo在命令末尾弹出了一个,因为这样更容易读取输出。


查看完整回答
反对 回复 2019-12-18
  • 3 回答
  • 0 关注
  • 513 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信