如何解压对象到stdout?

时间:2016-02-12 09:04:28

标签: git

我正在尝试解压缩git对象,但问题是它正在.git目录中解压缩。我需要将它解压缩到stdout中,以便我可以进一步处理它。

cat test_pack_no_header | git unpack-objects --stdout

我明白了:

usage: git unpack-objects [-n] [-q] [-r] [--strict]

也许我不明白这应该如何起作用,但从文档到我看起来似乎是 - 一个选项(除了-n -q -r之外还有很多其他的)

--stdout  Write the pack contents (what would have been written to .pack      
 file) out to the standard output.

完全使用:

git pack-objects [-q | --progress | --all-progress] [--all-progress-implied]
               [--no-reuse-delta] [--delta-base-offset] [--non-empty]
               [--local] [--incremental] [--window=<n>] [--depth=<n>]
               [--revs [--unpacked | --all]] [--stdout | base-name]
               [--keep-true-parents] < object-list

1 个答案:

答案 0 :(得分:0)

git pack-objects写入stdout并从repo中读取对象。

git unpack-objects从stdin读取并将对象写入repo。

这允许从回购转移它们的对象并将它们解压缩到另一个回购。

只需解压缩到一个空的仓库并在那里处理生成的对象。