我的项目目录结构如下:
my_project/
.git/
a_dir/
another_file.py
some_file.py
当我运行git archive链接时:
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命令行上执行此操作吗?我的存储库设置错了吗?
答案 0 :(得分:3)
使用--prefix
。来自the docs:
--prefix=<prefix>/
将<prefix>/
添加到存档中的每个文件名。
因此你可以这样做:
git archive --format=tar.gz --prefix=my_project/ -o ../my_project-0.1.0.tar.gz v0.1.0
尾随/
非常重要。
答案 1 :(得分:0)
我会回答我自己的问题。
像这样执行git存档:
git archive --format=tar.gz --prefix=my_project-0.1.0/ -o ../my_project-0.1.0.tar.gz v0.1.0
注意前缀的尾随/后面。