gpt4 book ai didi

git - 我如何对 git hooks 中的新标签使用react?

转载 作者:IT王子 更新时间:2023-10-29 01:07:53 25 4
gpt4 key购买 nike

我想设置一个 git 钩子(Hook),它根据传入的标签创建一个 CDN 风格的目录结构。因此,例如,如果本地存储库中的最后一个标签是“v1.2.1”并且我使用“v1.2.2”提取提交,它应该看到新标签并将存储库直接克隆到一个新的(../1.2 .2) 相应地。

我很确定我想将它附加到接收后,但是我在文档中找不到任何关于 git hooks 的关于如何读取传入标签的内容。它们是在不同的钩子(Hook)上交付的吗?我真的需要让 shell 脚本运行 git 命令来查看是否有任何新提交有新标签吗?

谢谢!

最佳答案

标签和其他标签一样是引用(比如提交)。
如果标签被推送到带有 post-receive hook 的 repo ,该 Hook 将被调用并列出所有更新的引用,即所有引用的旧值和新值以及它们的名称(在其标准输入上)。

查看此服务器 post-receive email例如 Hook 。

#!/bin/bash

. $(dirname $0)/functions

process_ref() {
oldrev=$(git rev-parse $1)
newrev=$(git rev-parse $2)
refname="$3"

set_change_type
set_rev_types
set_describe_tags

case "$refname","$rev_type" in
refs/tags/*,tag)
# annotated tag
refname_type="annotated tag"
function="atag"
short_refname=${refname##refs/tags/}
# change recipients
if [ -n "$announcerecipients" ]; then
recipients="$announcerecipients"
fi
;;
esac
}

while read REF; do process_ref $REF; done

为此,您还必须安装 the functions file。来自上述示例 Hook 存储库。

关于git - 我如何对 git hooks 中的新标签使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com