我正在使用git archive创建一个包含最新版本/ HEAD的zip文件,但是想要将分支名称和提交添加到zip文件名。我怎样才能做到这一点?
答案 0 :(得分:2)
您可以运行此脚本:
#!/bin/sh
sha1=`git rev-parse --short --verify HEAD`
branch=`git symbolic-ref -q --short HEAD`
git archive -o latest_${branch}_${sha1}.zip HEAD
将其称为git-auto-archive
,例如,将其设为可执行文件,放入路径并使用
git auto-archive
答案 1 :(得分:0)
除了CharlesB的script外,请确保您使用的是Git 2.20+(Q4 201),因为git archive -o latest_${branch}_${sha1}.zip
可以生成 tar 文件(如果已用于--remote
回购,则表示已修复)。
请参见commit 00436bf的Josh Steadmon (``)(2018年10月25日)。
帮助者:Jeff King (peff
)。
(由Junio C Hamano -- gitster
--在commit a5ab66e中合并,2018年11月6日)
存档:更早地初始化存档器
在运行
git archive
时尽快初始化存档器。
各种不明显的行为取决于已初始化存档程序,例如从提供的文件名中确定所需的存档格式。由于08716b3(“
archive
:猜测文件扩展名格式”, 2011-06-21,Git v1.7.7-rc0),archive_format_from_filename()已使用注册的 存档者将文件名(通过--output
提供)与档案进行匹配 格式。但是,用
git archive
执行--remote
时,格式检测发生在注册存档器之前。
这导致来自远程的存档总是作为TAR文件生成,无论 实际的文件名(除非提供显式的--format
)。此修补程序修复了该问题;档案格式确定正确 即使使用
--remote
,也可以从输出文件名中删除。