如何追加分支名称并提交到git archive输出文件?

时间:2013-02-20 17:19:01

标签: git git-archive

我正在使用git archive创建一个包含最新版本/ HEAD的zip文件,但是想要将分支名称和提交添加到zip文件名。我怎样才能做到这一点?

2 个答案:

答案 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)

除了CharlesBscript外,请确保您使用的是Git 2.20+(Q4 201),因为git archive -o latest_${branch}_${sha1}.zip可以生成 tar 文件(如果已用于--remote回购,则表示已修复)。

请参见commit 00436bfJosh 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,也可以从输出文件名中删除。

相关问题