Перехватчик Git для предотвращения создания новых веток из определенных ветвей

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

git checkout master
git fetch
git reset --hard origin/master
git checkout -b [branch name]
do awesome things.

Однако иногда при быстром движении некоторые разработчики в конечном итоге запускают эту новую ветвь из промежуточного репозитория. Что вызывает горе.

Итак, я хотел бы создать ловушку для прерывания, когда разработчик начинает создавать новую ветку, проверять, в какой ветке они находятся, и либо exit 1 , если ветка не ] master (или просто остановите действие, если имя ветки - staging ), или разрешите иначе.

Редактировать:

По мере того, как я ищу больше по этому поводу, я понимаю, что мне нужен механизм предварительной оплаты, которого, похоже, не существует. Если у кого-то нет идеи получше, я напечатаю очень большое предупреждение в ловушке после оформления заказа, если приведенный выше сценарий осуществится.

8
задан hookedonwinter 23 November 2011 в 00:36
поделиться