Git puxar em um ambiente Linux muda o dono dos arquivos

8

Por que toda vez que executo um git pull no meu servidor ativo, o proprietário dos arquivos será alterado? Eu continuo fazendo manualmente um chown john:john index.php .

O que eu preciso mudar para que, quando eu fizer um git pull , o proprietário dos arquivos seja automaticamente ou permaneça em john ?

    
por PinoyStackOverflower 10.09.2014 / 18:59

1 resposta

8

quando você usa git pull (que é equivalente a git fetch;git merge ), o git atualizará 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. É mais fácil adicionar um post-update hooks (no diretório .git/hooks ) para chamar automaticamente chown john:john . -R após mesclar / puxar ( veja que solução SO para um exemplo ).

A solução alternativa é:

  • use o usuário john em vez de root (isso exigirá permissões de gravação para john para o diretório .git)
  • crie um hook para fazer a implantação, que usará john como user, ou faça o chown após a atualização (assim você terá que fazer git pull dentro do post-receive hook do repositório nu)
por 09.01.2015 / 10:22

Tags