Из вашего описания в комментариях кажется, что проблема в том, что ваш apache
пользователь не может писать в репозиторий, что явно требуется при использовании git pull
.У вас есть два варианта действий:
- Настройка Apache для запуска сценария от имени другого пользователя (например, с помощью suEXEC либо в VirtualHost или через userdir )
- Измените разрешения для вашего репозитория, чтобы пользователь
apache
мог писать в него
Вам следует тщательно продумать последствия безопасности для любого из этих вариантов, но второй вариант, вероятно, самый простой,Если у вас еще нет такой группы, вы можете создать ее с помощью:
addgroup gitwriters
... и затем добавить себя и пользователя Apache в эту группу:
adduser [yourusername] gitwriters
adduser apache gitwriters
Затем вы можете следовать инструкциям в другой вопрос , чтобы изменить права доступа к хранилищу.Чтобы повторить те с некоторыми небольшими изменениями:
# Recursively, set the group ownership of every file and directory of your repository:
chgrp -R gitwriters /path/to/your/repo
# Recursively, make every file and directory of your repository readable and writable
# by the group:
chmod -R g+rw /path/to/your/repo
# Recursively, set the setgid of every directory in the repository. The setgid bit
# on directories means that files created in the directory will have the same group
# ownership as the directory.
find /path/to/your/repo -type d -print0 | xargs -0 chmod g+s
Тогда, надеюсь, ваш git pull
должен работать.