git post-receive hook并阻止标签推送

时间:2011-11-23 14:13:45

标签: git git-post-receive

在我的GIT的post-receive钩子中,我需要避免在推送标签时执行某些代码。

我尝试使用env变量$ refname,但它看起来是空的。

有什么想法吗?

由于

随机化

2 个答案:

答案 0 :(得分:2)

$rev_type - 你在哪里可以得到像这样的环境变量?

post-receive hooks以以下形式从stdin获取输入:

<oldrev> <newrev> <refname>

从stdin中读取refname并查看它是否包含标签(它将类似于refs/tags/<tagname>

请参阅此处以供参考:http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks

答案 1 :(得分:1)

发布接收挂钩得到类似

的内容
refs/tag/FOO in case of tags and 
refs/heads/branch-foo in case of branches

基于标签Vs分支,您可以确定。