Когда вы используете git pull
(что эквивалентно git fetch; git merge
), git обновляет файлы без изменения владельца (git не хранит эту информацию). Но если есть новые файлы для создания, текущий пользователь будет назначен владельцем.
Существует другое решение, чтобы решить эту проблему. Возможно, проще добавить post-update
хуки (в вашем .git/hooks
каталоге) для автоматического вызова chown john:john . -R
после слияния / вытягивания ( см. Пример этого решения SO ).
Альтернативные решения:
- Запустите
git pull
от имени пользователя john вместо root (для этого потребуется разрешение на запись в john для каталога .git).
- Создайте ловушку для развертывания, которая будет использовать john в качестве пользователя, либо делать chown после обновления (так что вам придется делать
git pull
это post-receive
в ловушке чистого репо).
john
владелец текущего каталога?