Amy 原创整理|资料核验:2026-11-07
Git官方把archive定义为从指定树或提交生成归档。命令末尾写HEAD,导出的就是当前分支最新提交的内容,而不是把此刻文件夹里所有东西直接压缩。因此,工作区里已经改好的文件,若变化尚未进入这个提交,就不会自动成为归档里的新版本。
Amy教学命令:在仓库根目录运行git archive --format=zip --prefix=demo/ -o demo-HEAD.zip HEAD。这里输出ZIP,包内路径统一加demo/前缀,来源是HEAD;运行前应选一个未占用的输出文件名。此处仅为示例,没有对任何实际仓库执行导出。
还要留意export-ignore属性:被标记的文件和目录不会进入归档。属性默认取自被归档那棵树中的.gitattributes;如果特意希望使用工作区的属性文件,需要了解--worktree-attributes选项。这个选项控制属性读取,不会把HEAD变成工作区内容快照。
Amy建议交付前记录源提交,打开压缩包抽查关键文件版本与目录结构。另一个容易误读的开关是git archive --list:它列的是可用归档格式,并不是压缩包成员清单。本帖是现行官方命令文档的操作整理,不是版本更新消息。