git файл перехвата предварительной фиксации

Я попытался добавить файл перехвата перед фиксацией на стороне сервера gitlab. Я знаю, что хук предварительной фиксации - это хук на стороне клиента. Я просто хочу добавить файл привязки перед фиксацией во все папки проекта .git/hooks.

Что я пробовал: - Я отредактировал весь pre-commit.sample файл на моем сервере gitlab и создал новый проект. Но я не обнаружил, что отредактированный образец файла привязки в моем локальном (Windows) после клонирования репо.

Есть ли способ добавить хук pre-commit во все папки проекта git на стороне сервера? Потому что у нас более 500 проектов.


person Parkavi    schedule 07.12.2017    source источник
comment
Как клонировать все проекты? git clone или какой-то инструмент?   -  person ElpieKay    schedule 07.12.2017


Ответы (2)


Вы не можете этого сделать из документации по адресу https://git-scm.com/book/gr/v2/Customizing-Git-Git-Hooks

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

person bew    schedule 07.12.2017
comment
Спасибо, что направили меня. Я сделаю это pre-receive крючком - person Parkavi; 08.12.2017

Это фундаментальный компромисс с обработчиками на стороне клиента: их нельзя настраивать централизованно.

Вы можете добавить скрипт-ловушку, который вы хотите, в рабочее дерево вместе со скриптом, который вы запускаете в корне рабочего дерева, чтобы скопировать скрипты в .git/hooks. Затем, если отдельные пользователи хотят ловушки, они могут запустить сценарий. (Предполагая, что у них нет какой-то экзотической установки, где .git не находится в корне рабочего дерева.)

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

person Mark Adelsberger    schedule 07.12.2017
comment
Попался! Я пойду на pre-receive крючок - person Parkavi; 08.12.2017