Git push сбрасывает разрешения хуков? - PullRequest
0 голосов
/ 25 февраля 2019

Я довольно новичок в git, но я пытаюсь настроить git для развертывания моего веб-сайта на моем сервере.

Я создал голое хранилище с именем etw.git на своем сервере и создал post-receive в пределах hooks, который имеет следующее:

#!/bin/sh git --work-tree=/home/username/www --git-dir=/home/username/www/etw.git checkout -f

Я создал локальное хранилище с именем etw.git и инициализировал его.

Затем я сделал git remote add live ssh://username@mydomain.com:18765/home/username/www/etw.git

Моя проблема в том, что когда я выполняю git push live master, это будет успешно, но обновленные файлы будут отображаться на моем веб-сайте только в том случае, если до выполнения git push live master я использую chmod -R +x hooks для изменения разрешений моей папки /home/username/www/etw.git/hooks.

Вот как hooks выглядит перед использованием chmod: enter image description here

И как только я делаю chmod -R +x hooks, это выглядит так: enter image description here

Будет работать только Git push ПОСЛЕ ТОГО, КАК я делаю chmod -R +x hooks.

Но после того, как я git push live master, разрешения сбрасываются (назад к первому изображению), и я должен выполнить chmod -R +x hooks снова перед повторным нажатием.

Также при отправке на сервер он выталкивает ВСЕ 4000+ объектов вместо только измененных.Это занимает много времени.

Наконец, после отправки на сервер, мой post-receive теряет # и просто становится:

!/bin/sh git --work-tree=/home/username/www --git-dir=/home/username/www/etw.git checkout -f
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...