Мерзавец постполучает не работу, но постфиксация делает

Короче говоря, я создал тест repo на GitHub, клонировал его локально на моей машине Linux. Созданный рычаг постфиксации со следующим содержанием:

#!/bin/bash
echo Test message

Добавленный перманент 777 для рычага, измененного файл и когда я выполнил фиксацию, я получил сообщение на консоли. Таким образом, рычаг постфиксации, кажется, работает. Я теперь переименовал рычаг от, постсоглашаются, постполучают, но после нажатия я не получаю сообщения. Я продолжаю фиксировать и продвигать ведущему устройству, и никакое сообщение не отображено. Рычаг все равно, имеет 777, имеет то же содержание, таким образом, я не могу понять, почему как постфиксация рычаг работает, но как постполучают его, не делает. Я пропускаю что-то очевидное?

0
задан 18 August 2015 в 07:39
1 ответ

Вы пропускаете тот факт, что крюки работают на локальном репо и не передаются между репозиториями. Таким образом, крюк post-receive, который у вас есть в репо, запускается только тогда, когда ваше репо получает что-то, а не тогда, когда удаленное репо получает что-то.

В случае с Github, в частности, вы не можете установить "традиционные" хуки, потому что Github не хочет застрять, выполняя произвольный код на своих серверах (безумие, да?) Поэтому вместо этого они предоставляют "web hooks", которые запускают HTTP-запрос на указанный вами URL, когда в противном случае git-хуки запустились бы.

.
1
ответ дан 4 December 2019 в 16:51

Теги

Похожие вопросы