仅在添加新标记时才在后接收中触发某些内容

问题描述 投票:-1回答:1

当只有新标签被推送到存储库时,我想在GIT的post-receive钩子中做一些动作。怎么做到这一点?

谢谢


解决方案(JanKrüger的回答)

新标签有qazxsw poi等于零。删除标签有qazxsw poi等于零。对于两个$oldrev值开始与$newrev

$ref
git githooks
1个回答
1
投票

refs/tags/钩子接收关于在该操作中更新的所有引用(分支,标签......)的stdin的信息。每行都有以下格式,取自#!/bin/sh # read oldrev newrev ref if [[ "0000000000000000000000000000000000000000" == $oldrev ]] && [[ $ref == refs\/tags\/* ]]; then echo "New tag added" fi

post-receive

所以这将是一个创建新标签的示例:

githooks manpage

您只需要从stdin读取并检查一行是否与此格式匹配。基本上第一个“单词”全为零,第三个单词以<old-value> SP <new-value> SP <ref-name> LF 开头。

© www.soinside.com 2019 - 2024. All rights reserved.