Я пишу чек в конвейере Jenkins, который проверяет, что ветвь, которая была извлечена, также помечена.
В моем репо у меня есть файл CHANGELOG.md
, и его верхняя запись - это что-токак
## 1.0.1
* Made this change
* Made that change
Теперь проверка в основном получает самую последнюю запись в журнале изменений и проверяет, является ли эта запись используемой для пометки ветви элемента
Так что из приведенного выше файла я могу извлечь значение тегаиспользуя
TAG=$(grep "##" file | head -1 | sed -e 's/## //g')
echo $TAG
1.0.1
Теперь мне нужно проверить, имеет ли ветвь, в которой я нахожусь, тот же тег или нет.
Выполнение git tag -l <tag>
не кажется мне жизнеспособным решением, так как оно вернетсяВСЕ теги и не подскажите, помечена ли текущая ветка или нет. Это также не говорит мне о тегах для текущей ветви.
git ls-remote --tags
применимо только для удаленных тегов, но опять же не гарантирует, принадлежит ли тег определенной ветви или нет.
Как лучше всего убедиться, что в этом случае существует метка на ветке?