1

我的项目目录结构是这样的:

my_project/
    .git/
    a_dir/
    another_file.py
    some_file.py

当我运行 git archive link 这个:

git archive --format=tar.gz -o ../my_project-0.1.0.tar.gz  v0.1.0

它归档 my_project 的内容,但不归档 my_project 目录。当我解压缩存档时,默认情况下所有目录和文件都被提取到当前工作目录中。我希望我的存档扩展到一个名为 my_project-0.1.0 的子目录。我可以在 git 命令行上执行此操作吗?我是否设置了我的存储库错误?

4

2 回答 2

3

使用--prefix. 从文档

--prefix=<prefix>/
附加<prefix>/到存档中的每个文件名。

因此你可以这样做:

git archive --format=tar.gz --prefix=my_project/ -o ../my_project-0.1.0.tar.gz v0.1.0

尾随/很重要。

于 2012-09-01T05:36:51.447 回答
0

我会回答我自己的问题。

像这样执行 git 存档:

git archive --format=tar.gz --prefix=my_project-0.1.0/ -o ../my_project-0.1.0.tar.gz  v0.1.0

注意前缀后面的 /。

于 2012-09-01T05:41:55.903 回答