принудительное нажатие на ошибку git pre-receive hook - PullRequest
0 голосов
/ 18 мая 2018

Я создал пользовательский перехватчик git pre-receive согласно упомянутым здесь шагам

https://docs.gitlab.com/ee/administration/custom_hooks.html

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

git push --force 

, но он все еще отклонен.

1 Ответ

0 голосов
/ 21 мая 2018

Удаленные пользователи не должны переопределять перехваты со стороны push-сервера, они часто используются для принудительного применения различных политик.Так что нет, --force или любая другая опция не переопределяет их.

Однако вы можете заставить скрипт пропустить push, если удаленный пользователь каким-либо образом его попросит.Это может быть решено на основе целевой ветви, сообщения о коммите или некоторой другой информации.Существует также простой способ указать опцию в командной строке push

Количество опций push, указанных в командной строке git push --push-option =... можно прочитать из переменной среды GIT_PUSH_OPTION_COUNT, а сами параметры находятся в GIT_PUSH_OPTION_0, GIT_PUSH_OPTION_1,… Если согласовано не использовать фазу параметров push, переменные среды не будут установлены.Если клиент выбирает использование параметров push, но не передает их, переменная count будет установлена ​​на ноль, GIT_PUSH_OPTION_COUNT = 0.

...