GIT: пост-получай -> дави бранчаме - PullRequest
0 голосов
/ 29 августа 2018

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

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

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 Ответ

0 голосов
/ 29 августа 2018

Местные ссылки не всегда необходимы в толчке. Если 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 эту функцию.

...