在子目录中使用git archive

5

我正在尝试归档我的项目,不管当前目录是什么。

项目结构

main_folder/
    sub1/
    sub2/
        sub3/

如果我使用cd命令转到main_folder/sub2/sub3/目录并运行git archive,那么它只会归档我的当前目录(sub3)的内容。有没有办法获取整个HEAD和项目的内容,而不必在项目根目录中呢?
实际的git命令:
git archive -v -o file.zip HEAD
1个回答

6

目前的答案是否定的。您可以使用 -C <path> 选项和参数

git -C "$(git rev-parse --show-toplevel)" archive -v --format zip HEAD
    #####################################

或者自行 cd.
(cd `git rev-parse --show-toplevel`; git archive -v --format zip HEAD) > file.zip

作为一种解决方法。 git-archive 有第二个参数用于指定路径。唯一不能用它来实现你所要求的内容的原因是,在与 git 的许多其他地方相比,此路径被解释为相对路径,而不是 pathspec,后者将识别 /:(top) 作为存储库的根目录。也许他们以后会将其添加到 git-archive 中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接