ошибка: невозможно создать перехватчики / предварительный прием: такого файла или каталога нет, но перехватчики / предварительный прием существуют в git-репозитории на стороне сервера - PullRequest
0 голосов
/ 30 ноября 2018

Клон проекта с моего веб-сервера Gogs, затем я добавляю файл в репозиторий Git push и отправляю этот коммит на удаленный сервер, но сообщение об ошибке терминала сообщает о cannot spawn hooks/pre-receive:No such file or directory.

Я проверил его и проверилфайл pre-receive существует в server-side git-repository, а клонированный файл имеет имя pre-receive.sample.

Итак, я не знаю, почему это произошло и что я могу сделать для его устранения.Пожалуйста, помогите.

изображение на стороне сервера:

введите описание изображения здесь

изображение на стороне клиента:

введите описание изображения здесь

env системы: введите описание изображения здесь

1 Ответ

0 голосов
/ 30 ноября 2018

pre-receive.sample это просто образец.В любом случае pre-receive не имеет смысла на стороне клиента, поэтому эту часть можно игнорировать или даже удалить из вопроса.

hooks/pre-receive на стороне сервера интереснее.Он существует, и, кажется, сервер пытается запустить его, но не удалось.Я подозреваю, что есть проблема с шебангом - первой строкой скрипта, которая указывает на интерпретатора (скорее всего, оболочку) для запуска скрипта.Пожалуйста, убедитесь, что оболочка существует на сервере.Например, если значение shebang равно #!/bin/bash, убедитесь, что на сервере есть файл /bin/bash и его можно запустить.Исправьте шебанг, то есть наведите его на существующую оболочку, например /bin/sh.

...