GIT: пост-получай -> дави бранчаме

Я хотел бы получить название ветви, которая передается на мой пульт. Например: когда я толкаю местную ветку feature/awesome в f5/master (f5 это тестовый сервер для меня), я хотел бы получить feature/awesome Строка в моем пост-получить крючок.

Я уже выполнил с помощью SO, чтобы получить название ветви, где был получен пуш:

while read oldrev newrev refname
do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)
    echo "$oldrev" > last.txt # a hash
    echo "$newrev" >> last.txt # a hash
    echo "$refname" >> last.txt # refs/heads/master
    echo "$branch" >> last.txt # master
done

Моя цель - отправить информацию службе, которая записывает ее в базу данных, а затем создать обзор о том, какие функции в данный момент передаются на какой тестовый сервер.

Но я борюсь за то, чтобы получить название выдвигаемой функции. Кто-нибудь знает, возможно ли это и как мне этого добиться?

Другим решением было бы отправить локальную ветку на тестовый сервер напрямую, а не в основную ветку. Я бы хотел, чтобы на моем сервере была только одна ветка.

1 ответ

Местные реферы не всегда необходимы в пуше. Если feature/awesome указывает на коммит abc123, git push origin feature/awesome:master а также git push origin abc123:master подобные.

Если у вас есть строгие правила именования для локальных веток и регулярные рабочие процессы для push, вы можете попробовать -o/- push-option, git push origin --push-option=feature/awesome feature/awesome:master, В пост-получения вы можете получить строку feature/awesome из переменной env GIT_PUSH_OPTION_0, Вам нужно проверить, поддерживает ли ваша версия Git эту функцию.

Другие вопросы по тегам