Так же, как дополнительный ответ, вот функция, которую вы можете использовать для инициализации git-репозитория, которая автоматически делает перехватчики исполняемыми файлами;Вы должны поместить его в .bashrc
или в файл, который вы используете при запуске терминала.История ниже:)
ginit () {
git init
gitpath=`git rev-parse --show-superproject-working-tree --show-toplevel | head -1`
chmod u+x "$gitpath"/.git/hooks/*
for submodule in "$gitpath"/.git/modules/*; do
chmod u+x "$submodule"/hooks/*
done
}
Меня раздражало то же, что и вы.Я не хочу помнить, что мне приходится делать все исполняемые файлы ловушек каждый раз, когда я инициализирую репозиторий.Кроме того, когда вы используете подмодули, их перехваты находятся не в .git/hooks
, а в .git/modules/NameOfSubmodule/hooks
, и их тоже следует выполнять исполняемыми.