Изменение пользователя и группы всех файлов в проекте после git pull - PullRequest
1 голос
/ 06 марта 2019

Пользователь и группа всегда меняются на root:root, если я выполняю git pull или git checkout

Итак, я создал файл .git/hooks/post-merge со следующим содержанием:

#!/bin/sh

chown -R mycompany:www /srv/www/vhosts/mycompany

exec git-update-server-info

Файл имеет разрешение на выполнение

Но это не работает, ничего не меняется после вызова git pull.

1 Ответ

1 голос
/ 07 марта 2019

Первое, что нужно проверить: исполняется ли ваш хук?
Как в этом примере :

Запустите chmod +x post-merge, чтобы сделать его исполняемым, затем поместите его в .git/hooks/.

Затем добавьте в него хотя бы эхо-сигнал, чтобы проверить, выполняется оно или нет.

Обратите внимание, что ловушка будет выполняться только после успешного слияния, то есть, еслирезультат вытягивания приводит к ускоренному слиянию (перемещение заголовка, фактическое слияние не требуется), хук не запускается.

Альтернативой может быть попытка использовать setuid / setgid для принудительной обработки(Git как root) для запуска от имени нужного пользователя (предварительное условие: chown для установки нужного пользователя / группы для этих файлов)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...