Git фиксация крючков на каждую ветку

Я работаю над более продвинутым использованием git, и я думаю, что крючки - это то, как я хочу идти, возможно, кто-то может дать мне несколько советов.

Мой план состоит в том, чтобы иметь репозиторий git с тремя ветвями (разработка, постановка и производство). Я хочу зафиксировать каждую из этих трех ветвей, чтобы инициировать другой script пост-фиксацию.

Есть ли у git возможность сделать это, или я лаяю неправильное дерево?

Спасибо заранее.

Ответ 1

в случае фиксации после фиксации вы можете сделать следующее:

if [ `git rev-parse --abbrev-ref HEAD` == "development" ]; then
   echo "development-script"
elif [ `git rev-parse --abbrev-ref HEAD` == "staging" ]; then
   echo "staging-script"
elif [ `git rev-parse --abbrev-ref HEAD` == "production" ]; then
   echo "production-script"
fi

Ответ 2

Я написал script для себя, чтобы сделать эту функциональность.

https://github.com/fotuzlab/githubdump-php

Соберите этот файл на своем сервере, предпочтительно root репо и определите URL-адрес в веб-узлах github. Измените "allcommits" в строке 8 с именем вашей ветки и добавьте код/​​функцию в строку 18.

Вам понадобятся отдельные файлы и веб-узлы для всех ваших трех экземпляров.

Надеюсь, это поможет!