代码之家  ›  专栏  ›  技术社区  ›  Ryan Florence

如何将任意分支git存档?

git
  •  8
  • Ryan Florence  · 技术社区  · 16 年前
    git checkout master
    git archive stage | tar -czf archive.tar.gz htdocs
    # archives master because it's checked out.
    

    我怎样才能将舞台分支存档,而不管我现在在哪?

    1 回复  |  直到 16 年前
        1
  •  17
  •   CB Bailey    16 年前

    git-archive创建了一个tar归档,这样您就不需要通过管道传输它的输出tar,实际上它并没有达到您所期望的效果。您正在创建stage分支的tar存档,并将其管道化到一个普通tar命令,该命令不使用其标准输入,而只是创建自己的stage分支存档 htdocs

    尝试:

    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