Управление Git Hooks - PullRequest
       5

Управление Git Hooks

25 голосов
/ 12 января 2010

Мы используем нестандартные Git-хуки в нашем проекте.

Хуки хранятся в репозитории проекта, и, когда они меняются, чтобы получить новую версию, каждый пользователь должен скопировать их вручную в свой каталог .git / hooks. Это довольно неудобно.

Один из способов улучшить это - сделать .git / перехватывает символическую ссылку на рабочем дереве. Но это подразумевает, что каждая ветвь (даже разрабатываемая ветвь локальных функций пользователя) должна иметь самую последнюю версию хуков. Это тоже не удобно.

Как бы вы решили проблему?

Ответы [ 6 ]

12 голосов
/ 12 января 2010

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

Согласен, было бы неплохо, если бы в Git был встроенный механизм для распространения скриптов хуков, но это не так.

8 голосов
/ 02 сентября 2010

http://benjamin -meyer.blogspot.com / 2010/06 / manage-project-user-and-global-git.html представляется удобным способом автоматизации символьных ссылок хуков, чтобы облегчить глобальное для каждого пользователя и каждого проекта.

2 голосов
/ 10 октября 2010

Вы можете сделать каталог репозитория .git репозиторием git и просто добавить к нему хуки и другие конфигурации, добавив каталоги и файлы objects, refs и т. Д., Например index, в .gitignore , И не только это, но вы можете настроить хук пост-получения, чтобы обновить метарепо от его источника. После того, как вы настроили начальную конфигурацию, вы можете загружать обновления без каких-либо дополнительных усилий.

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

1 голос
/ 13 июля 2016

Для проектов на базе NodeJS я предлагаю вам взглянуть на ghooks .

1 голос
/ 16 июня 2016

В Git 2.9 вы можете указывать на каталог пользовательских хуков, используя конфигурацию core.hooksPath.

Замечания к выпуску Git 2.9 - https://github.com/blog/2188-git-2-9-has-been-released

Документация с упоминанием core.hooksPath - https://git -scm.com / docs / githooks

Примечание. Этот вопрос является возможной копией Можно ли управлять сценариями перехвата Git вместе с хранилищем?

0 голосов
/ 12 января 2010

Мы сделали .git / подключает символическую ссылку к рабочему дереву.

В тех редких случаях, когда кому-то нужно зафиксировать файлы, которые хуки будут отклонять, мы используем git commit --no-verify

...