如何使用Git Archive在Windows上创建Tarball?

时间:2013-12-30 15:19:23

标签: windows git bash

在Git Bash中,我尝试使用此命令:

$ git archive -o test.tar.gz master
gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h

文件test.tar.gz为空,但我的存储库不为空,创建一个zip文件工作正常(包含我的所有源文件)!为什么tarball格式无法生成存档?

3 个答案:

答案 0 :(得分:5)

这似乎是git archive想要将内容从tar传递到gzip的方式与Windows处理管道的方式之间的兼容性问题。您可以通过手动将tar汇总到gzip来生成相同的错误消息:

$ tar -c file.txt | gzip
gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h

这两个命令在Windows 7上适用于我,并且应该在功能上与您尝试的相同:

$ git archive -o test.tar master
$ gzip test.tar

答案 1 :(得分:3)

将它传递给gzip:

git archive master | gzip > test.tar.gz

答案 2 :(得分:1)

即使您没有使用Git Bash,也可以从常规的命令提示符开始:

git archive --format=tar.gz master > test.tar.gz