Как изменить разрешения и владельца после git-pull, чтобы они соответствовали папке?
Компания, в которой я работаю, использует Git для развертывания и поэтому перезаписывает определенные разрешения и права собственности. Каков наилучший способ убедиться, что владельцы и разрешения папок сохраняются при git pull
проводится?
Я занимаюсь разработкой под OS X, используя MAMP, переход на промежуточный сервер, который является клоном среды на производстве. Когда он достигает Staging, я должен исправить разрешения позже, но они обычно устанавливаются на 664 вместо 644, вызывая проблемы с suPHP.
2 ответа
Можете ли вы использовать один из крючков Git?
Вероятно, крюк после оформления заказа.
В итоге ответ заключался в том, что мне пришлось использовать крючок после прочтения ссылки, предоставленной другим ответом.
в.git/hooks
папка, я создал файл под названиемpost-merge
и включил что-то вроде следующего кода:
#!/bin/sh
sudo chown -R opensaurusrex:staff .
sudo chmod 2775 .
sudo find . -type d -exec chmod 2775 {} \;
sudo find . -type f -exec chmod 0664 {} \;
Я не помню, приходилось ли мне запускать его определенным образом, чтобы убедиться, что sudo работает правильно. Должно работать, если заменить#!/bin/sh
с нынешним#!/bin/zsh
для современных дистрибутивов MacOSX, где они используютzsh
вместо.