Как изменить разрешения и владельца после 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вместо.

Другие вопросы по тегам