Автоматически создавать ветку, если в другой ветке до коммита с git
У меня есть ветка, допустим master
, у меня нет master
толчки ограничены. Есть ли способ заставить его сказать, что если коммит случайно сделан на master
ветка (или другая ветка), что новая ветка создается автоматически и коммиты там есть?
Пример рабочего процесса:
- Клон репо
master
ветка. - Вносит много изменений
- Есть ли
git commit -am ...
Я хочу подключиться к #3 и создать новую ветку, если человек совершает master
(или какая-то другая "помеченная" ветка).
Если это невозможно, просто блокировать коммиты в master
?
1 ответ
Решение
Я смог сделать это, создав pre-commit
крюк:
#!/bin/bash
PROTECTEDBRANCH="master"
CURRENTBRANCH=$(git rev-parse --abbrev-ref HEAD)
if [ "$PROTECTEDBRANCH" == "$CURRENTBRANCH" ]; then
RANDOMBRANCH=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)
git checkout -b $RANDOMBRANCH
fi
Я сохранил это в .git/hooks/pre-commit
; это работает как ожидалось.