Eu tenho atualmente configurado um servidor Ubuntu com gitolite e funciona como um charme para a maioria das partes. O único problema foi quando baixei e configurei um web-gui (gitlist), para compartilhar meus repositórios. Im curto o problema é que toda vez que eu empurrar algumas atualizações as permissões de arquivo para alguns arquivos de referência no repositório tem suas permissões de arquivo alteradas e o apache não consegue acessá-las (e assim, o web-gui não terá acesso ao repositório).
Quando o instalei, fiz os seguintes passos:
- Criado um usuário git e configure os repositórios neste usuário
- Adicionou o usuário do www-data ao git-group com usermod -a -G git www-data
- Garantiu que o git era o grupo dos repositórios: sudo chgrp -R repositórios git /
- chmod as pastas para dar acesso a todos os usuários do grupo: sudo chmod ug + s repositories /
Assim que eu fizer um push com o git, a permissão do arquivo para 2-3 arquivos será alterada (por exemplo, o arquivo '/ repository / [name] / refs / head / master' ) e ele está definido como -rw ------- e somente o usuário git obteve acesso ao arquivo. Nenhum outro usuário pode ler ou escrever aqui.
Eu gostaria que esses arquivos ficassem com a permissão dada (por exemplo, chmod 755) depois que eu fizesse um git push, então eu não preciso atualizar as permissões toda vez que alguém fizer um push.
___ answer176535 ___
Como este é um site Q & amp; A, e eu encontrei a resposta para mim depois de muito rastreamento por meio de pesquisas no Google e resolvi isso.
O problema básico volta para uma umask que foi configurada, que mascarou todos os arquivos quando eu fiz o push - e eu tive que mudar isso. Para fazer isso, fiz o seguinte:
abra o arquivo .gitolite.rc na raiz do meu repositório e defina a variável:
%pre%
(Defina o Umask para a máscara que você quer ter). Depois disso, meus arquivos não foram removidos para a permissão de leitura do grupo.
___ tag123git ___ Git é um sistema de controle de revisão distribuído com ênfase em velocidade.
___