post-merge
хуке необходимо:
my_custom_script.sh
, и сделать его исполняемым (chmod +x my_custom_script.sh
)..git/hooks/
и переименовать его в post-merge
(без расширения).#!/bin/bash
) и имеет соответствующие права доступа.Для применения кастомного скрипта в post-merge
хуке, необходимо выполнить следующие шаги:
custom_script.sh
:
#!/bin/bash
# Скрипт, который выполняется после слияния
echo "Слияние успешно завершено!"
# Добавьте здесь свою логику, например:
# - Выполнение линтеров
# - Перезапуск сервисов
# - Обновление документации
date > last_merge_date.txt
chmod +x custom_script.sh
.git/hooks
: Перейдите в директорию .git/hooks
вашего репозитория. Если этой директории нет, значит вы скорее всего находитесь вне корня репозитория.
cd .git/hooks
post-merge
: Важно! Файл должен называться точно post-merge
без расширения.
Создание ссылки (рекомендуется):
ln -s ../../custom_script.sh post-merge
Этот способ позволяет вам удобно редактировать скрипт вне директории .git/hooks
, и изменения автоматически будут применяться.
Копирование скрипта:
cp ../../custom_script.sh post-merge
Этот способ требует, чтобы вы обновляли копию скрипта в .git/hooks
каждый раз, когда вносите изменения в исходный скрипт.
post-merge
имеет права на исполнение:
chmod +x post-merge
Теперь, каждый раз когда вы выполняете git merge
(и слияние завершается успешно), скрипт post-merge
будет автоматически выполнен.
Важные замечания:
.git/hooks
не отслеживается git, поэтому хуки не будут автоматически распространяться между разработчиками. Для общих репозиториев рассмотрите использование других механизмов распространения хуков, таких как husky или pre-commit, либо использование централизованной системы управления скриптами.