Ответ 1
Как я упоминал в разделе Git commit hooks - глобальные настройки "и" изменить default git hooks "в мае 2016 года, git 2.9 и 2.10 введены git config core.hooksPath
.
Это похоже на путать OP:
Если у меня есть существующее репо и вы хотите, чтобы все другие разработчики, которые заставляют изменения иметь обновленный крюк для фиксации, например, как я могу это сделать?
В пределах репо есть/.git/hooks/pre_commit
, могу ли я указать его на
Точнее, в репозитории git существует /.git/hooks/pre-commit.sample
и, если вы хотите использовать общий крюк pre-commit
для всех разработчиков, вы не должны делать, а затем указывать на /.git/hooks/pre_commit
script внутри ваше местное репо.
Все разработчики должны ссылаться на один и тот же общий доступ к сети, общий доступ к сети, используемый с git config core.hooksPath \\a\common\shared\path
: этот параметр необходимо активировать на каждой рабочей станции разработчика, либо в пределах своего репо (локальная настройка), либо для всех их репо (глобальная настройка: git config --global core.hooksPath \\a\common\shared\path
.
(я использую здесь синтаксис Windows UNC, используйте тот, который подходит для вашей ОС)
Как только все они ссылаются на один и тот же путь, вы можете настроить свой крюк перед фиксацией:
\\a\common\shared\path\pre-commit
Затем вы можете обновить этот script (тот, к которому обращаются все), что позволяет всем разработчикам мгновенно получать обновления.