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 эту функцию.