Skip to main content

Работа с перехватчиками предварительного получения

Применение политик репозитория и предотвращение таких проблем, как секреты или недопустимые фиксации с помощью перехватчиков предварительного получения на GitHub Enterprise Server.

Перехватчики предварительного получения — это скрипты, которые выполняются GitHub Enterprise Server до того, как Git принимает отправленные фиксации. Они применяют репозиторий, организацию или корпоративную политику в точке, в которой код входит в репозиторий.

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

Если отправка не принимается, вы увидите сообщение об ошибке для неудающегося перехватчика предварительного получения.

$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 916 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: always_reject.sh: failed with exit status 1
remote: error: rejecting all pushes
To https://54.204.174.51/hodor/nope.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://54.204.174.51/hodor/nope.git'

Предприимчивые перехватчики имеют значение, так как они последовательно применяют правила, прежде чем изменения достигают репозитория. Это может снизить нагрузку на проверку вручную и предотвратить сохранение нарушений политики в журнале Git.

Администратор GitHub Enterprise Server сайта создает и удаляет перехватчики перед получением. Они также могут разрешить администраторам организации или репозитория включить или отключить перехватчики для определенных областей. См . раздел AUTOTITLE.