Как я могу вручную запустить пост-прием крюка на git?

Я нажал веб-сайт на свой удаленный сервер через Git, но получил ошибку

cannot run post-receive: No such file or directory

Итак, материал находится на сервере, он просто не был развернут в мою/общедоступную папку.

У меня есть файл после получения, поэтому я не уверен, почему он не был найден. Теперь я подумал, что все, что мне нужно сделать, это вручную запустить этот пост-прием, чтобы сделать кассу, хотя я не знаю, как...

Ответы

Ответ 1

Крюк - это исполняемая оболочка script. Вы можете выполнить его из командной строки, если вам нужно запустить его вручную, хотя построение ожидаемого stdin inuput несколько утомительно, если в вашем репо есть несколько голов (т.е. Вы используете ветки). Для этого должна быть команда низкого уровня, но я этого не знаю.

Предполагая оболочку bash и одну ветвь в вашем реестре git

# Print the log with full hashes and commit subject, so that you can
# figure out which hashes to use for the FROM and TO range.
/path/to/repo$ git log --pretty=%H\ %s

# assuming the FROM commit identifies as 999988887777
# and te TO commit identifies as 000011112222
# (Note: use the full length hashes; I've shortened them for the example)
/path/to/repo$ .git/hooks/post-receive <<MARK
999988887777 000011112222 refs/heads/master
MARK

... вышеупомянутое должно работать так же, как реальная вещь.