git checkout master
git archive stage | tar -czf archive.tar.gz htdocs
# archives master because it's checked out.
我怎样才能归档舞台分支,无论我当前是谁?
答案 0 :(得分:15)
git archive创建了一个tar存档,因此您不需要管道其输出tar,实际上它没有按照您的预期进行操作。您正在创建阶段分支的tar存档并将其传递给普通的tar命令,该命令不使用其标准输入,而只是在工作树中创建自己的htdocs
存档,与git无关。
尝试:
git archive stage >stage.tar
或者,对于压缩存档:
git archive stage | gzip >stage.tar.gz
要归档htdocs子文件夹,您可以执行以下操作:
git archive stage:htdocs | gzip >stage-htdocs.tar.gz
或者,要在档案中包含文件夹名称:
git archive --prefix=htdocs/ stage:htdocs | gzip >stage-htdocs.tar.gz
或更简单:
git archive stage htdocs | gzip >stage-htdocs.tar.gz