Хук post-receive
получает на стандартный ввод информацию обо всех ссылках (ветвях, тегах, ...), которые были обновлены в этой операции. Каждая строка имеет следующий формат, взятый из githooks
manpage :
<old-value> SP <new-value> SP <ref-name> LF
Так что это будет пример создания нового тега:
0000000000000000000000000000000000000000 0123456789abcdef0123456789abcdef01234567 refs/tags/mytag
Вам просто нужно прочитать из стандартного ввода и проверить, соответствует ли строка этому формату. По сути, первое «слово» - это все нули, а третье слово начинается с refs/tags/
.