Quando você usa git pull
(que é equivalente a git fetch; git merge
), o git atualiza os arquivos sem alterar o proprietário (o git não armazena essas informações). Mas se houver novos arquivos para criar, o usuário atual será definido como o proprietário.
Existe uma solução diferente para resolver isso. O mais fácil é provavelmente adicionar post-update
ganchos (em seu .git/hooks
diretório) para chamar automaticamente chown john:john . -R
após mesclar / puxar ( consulte a solução SO por exemplo ).
As soluções alternativas são:
- Execute
git pull
como usuário john em vez de root (isso exigirá permissões de gravação para john no diretório .git).
- Crie um gancho para fazer a implantação, que usará john como usuário, ou faça o chown após a atualização (você precisará fazer isso
git pull
dentro do post-receive
gancho do repositório simples).
john
proprietário do diretório atual?