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