Используя комментарий Майкла Цихара, вот пример сценария bash, который я написал, чтобы просто создать эти символические ссылки. Этот скрипт находится в git_hooks / dir, который находится в корне проекта. Моя папка .git / также находится на том же уровне каталогов.
#!/usr/bin/env bash
pwd=$(pwd);
# Script is designed to be ran from git_hooks/ dir
if [[ "$pwd" == *"git_hooks"* ]]; then
files=$(ls | grep -v -e '.*\.');
while read -r file; do
ln -s ../../git_hooks/$file ../.git/hooks/
echo "Linked $file -> ../.git/hooks/$file"
done <<< "$files";
else
echo "";
echo "ERROR: ";
echo "You must be within the git_hooks/ dir to run this command";
exit 1;
fi
Мой скрипт должен быть запущен из самого каталога git_hooks /. Вы можете изменить его, чтобы вести себя по-другому, если хотите.
Этот скрипт будет символически ссылаться на любой файл, в котором нет суффикса с расширением в каталоге git_hooks /. У меня есть README.txt в этом каталоге + этот скрипт (с именем symlink.sh). Все фактические git-хуки называются «pre-commit», «pre-push» и т. Д., Поэтому они будут связаны символами.