Изменение ответа Брайана, чтобы учесть важный момент Филиппа:
Если у вас есть пользователь с правами записи, который создает хук (скажем, post-commit) с помощью '#! / Bin / sh rm -rf~ 'там идет ваш домашний каталог.(Или, может быть, что-то более мягкое, но все же глупое.)
Чтобы защититься от этого, лучше не ссылаться на каталог, а копировать его вручную в каталог git_hooks и из него.Да, вы должны помнить, чтобы вручную копировать эти файлы при обновлении, но лучше, чем ничего, и все же вы не предоставляете кому-то доступ на уровне пользователя к командам на вашем компьютере.
ОБНОВЛЕНИЕ: Как упоминалось нижеЕсли вы планируете изменить кучу хуков, вы можете создать скрипт-обертку, который копирует файлы и затем запускает коммит.Однако автоматизировать коммит (с помощью git add и ввода автоматизированного сообщения) действительно сложно.Лучше было бы сделать так, чтобы один из ваших хуков сделал копию в этот каталог 'git_hooks' перед фиксацией.Таким образом, злоумышленник не сможет зафиксировать файл, который будет запущен при следующем вызове ловушки.