Не уверенный, если это возможно в мерзавце (я не нашел его, но я могу использовать неправильный словарь в своих поисках), но это быть было бы полезный, чтобы быть в состоянии изменить и включить рычаги как значения по умолчанию для всех новых репозиториев (во время создания, которое я имею в виду), таким образом, они не должны быть настроены каждый раз, когда новый репозиторий создается. Это кажется простым способом сделать, это - запись обертка, которая устанавливает мои рычаги и chmods их, когда я создаю новый репозиторий, но если существует путь, встроенный в мерзавца, я использовал бы это вместо того, чтобы иметь ненужные сценарии обертки однако мало лжи вокруг.
Разъяснение, скопированное от комментария до теперь удаленного ответа:
Мой вопрос состоит в том, может ли поведение по умолчанию для ВСЕХ новых репозиториев быть изменено, таким образом, они не должны быть настроены таким же образом каждый раз для каждого нового репозитория. Легкий ответ является записью обертка для создания и настройки repos (это генерирует сценарии рычага и chmods их), но кажется, что это поведение по умолчанию должно также быть настраиваемо, не имея необходимость делать это.
Из git-init
man page (также работает с git-clone
, если вы клонируете существующее репо вместо того, чтобы создавать новое с нуля):
--template=<template_directory> Provide the directory from which templates will be used. The default template directory is /usr/share/git-core/templates. When specified, <template_directory> is used as the source of the template files rather than the default. The template files include some directory structure, some suggested "exclude patterns", and copies of non-executing "hook" files. The suggested patterns and hook files are all modifiable and extensible.
Вы можете изменить общесистемный каталог шаблонов (по умолчанию он имеет значение /usr/share/git-core/templates
, но может находиться в другом месте на вашей машине), вы можете указать --template=
в командной строке при создании или клонировании репо, или вы можете настроить каталог шаблонов по умолчанию в вашем конфигурационном файле:
[init]
templatedir = /path/to/templates
С git 1.6.5.3 (и некоторыми более ранними версиями) вы получаете примеры крючков, доставленных в вашем каталоге .git/hooks
:
$ ls .git/hooks
applypatch-msg.sample post-update.sample prepare-commit-msg.sample
commit-msg.sample pre-applypatch.sample update.sample
post-commit.sample pre-commit.sample
post-receive.sample pre-rebase.sample
$
Они все исполняемые на моей системе.
Чтобы использовать один из хуксов, скопируйте или переименуйте файл, удалив суффикс '.sample
'. Отредактируйте его в соответствии с вашими требованиями.
Обращаясь к вопросу в комментарии - чтобы изменить установленный по умолчанию sample hooks, вам нужно найти каталог, в котором установлен git
. На моей машине это $HOME/git
- так что двоичный файл находится в $HOME/git/bin/git
. Тогда каталог, содержащий примеры хуков:
$HOME/git/share/git-core/templates/hooks
Если вы отредактируете эти шаблоны (будьте осторожны), то это то, что будет скопировано в новые git-репозитории. Это всё равно будут сэмплы, но это будут ваши сэмплы.
Я не экспериментировал с созданием файла без сэмплов в этом каталоге; он может быть скопирован, а может и нет. Будьте осторожны с изменением настроек по умолчанию - при следующем апгрейде вам придется повторить изменения.