Хуки (в настоящее время) настроены исключительно для каждого репозитория, поэтому до создания репозитория не может быть активных хуков.
Если вы просто хотите инициализировать некоторые специфичные для репозитория настройки одинаково для всех новых репозиториев, вы можете использовать механизм шаблонов репозитория .
Используя свой собственный шаблон, вы можете
- установить активированные хуки (предоставив
<template‑dir>/hooks/<hook‑name>
файл), - установить переменные конфигурации (предоставив
<template‑dir>/config
файл), и - настроить для каждого репозитория исключить правила или атрибуты (предоставив файл
<template‑dir>/info/exclude
или<template‑dir/info/attributes>
файл).
Любой файл конфигурации, который находится в .git
каталоге, может быть помещен в шаблон, чтобы служить начальной копией этого файла в новых репозиториях, инициализированных из шаблона. Я полагаю, вы могли бы даже предоставить начальные объекты и ссылки.
После того, как у вас есть каталог шаблонов, созданный с вашими настройками, вы должны указать git init
и git clone
где его найти. Это можно сделать явно с помощью --template
опции (Git 0.99.4 или новее), или неявно с GIT_TEMPLATE_DIR
переменной среды (Git 1.5.0 или новее), или неявно, установив init.templatedir
переменную конфигурации в «global» (для пользователя) или «Системные» файлы конфигурации Git (т.е. ~/.gitconfig
или /etc/gitconfig
(зависит от установки); Git 1.7.1 или более поздняя версия).