如何运用git archive技巧高效导出项目文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1004个文字,预计阅读时间需要5分钟。
直接运行以下命令不会生成文件,而是将二进制zip流输出到终端:
- 必须显式用
--output=xxx.zip指定文件名,或用 shell 重定向:git archive --format=zip HEAD > out.zip - 如果只写
--output=out.zip却漏掉--format,Git 会尝试从文件后缀推断格式;但.zip推断成功,.tar.gz也可能失败(某些旧 Git 版本不支持自动识别双后缀) - Windows 上用重定向生成的
.zip,部分解压工具(如系统自带的“压缩文件夹”)可能打不开——这不是损坏,是 zip 标准兼容性问题,换 7-Zip 或 WSL 的unzip就能正常解压
导出子目录时路径末尾必须加斜杠,否则报错
git archive 对路径参数极其严格:要导出 src/frontend 目录下所有内容,命令里必须写成 src/frontend/(带末尾斜杠),写成 src/frontend(不带斜杠)会直接报错 fatal: Not a valid object name src/frontend。
本文共计1004个文字,预计阅读时间需要5分钟。
直接运行以下命令不会生成文件,而是将二进制zip流输出到终端:
- 必须显式用
--output=xxx.zip指定文件名,或用 shell 重定向:git archive --format=zip HEAD > out.zip - 如果只写
--output=out.zip却漏掉--format,Git 会尝试从文件后缀推断格式;但.zip推断成功,.tar.gz也可能失败(某些旧 Git 版本不支持自动识别双后缀) - Windows 上用重定向生成的
.zip,部分解压工具(如系统自带的“压缩文件夹”)可能打不开——这不是损坏,是 zip 标准兼容性问题,换 7-Zip 或 WSL 的unzip就能正常解压
导出子目录时路径末尾必须加斜杠,否则报错
git archive 对路径参数极其严格:要导出 src/frontend 目录下所有内容,命令里必须写成 src/frontend/(带末尾斜杠),写成 src/frontend(不带斜杠)会直接报错 fatal: Not a valid object name src/frontend。

