Como eu faço um servidor git acessível para múltiplos usuários?

2

Eu configurei um servidor git, mas estou tendo alguns problemas com usuários enviando seus commits. Eu tenho um total de 3 usuários, mas se qualquer um deles empurrar alguns arquivos, eles se tornarão somente leitura para os outros usuários, e o unpacker falhará se eles tentarem empurrar.

Eu posso corrigir esse problema temporariamente definindo recursivamente todas as permissões para 777 , mas essa é uma abordagem terrível e só a corrige até o próximo push.

Como posso fazer com que todos os usuários selecionados possam fazer push e pull, sem precisar alterar as permissões todas as vezes?

    
por user2894959 14.03.2018 / 21:04

1 resposta

1

Crie seu repositório com git init --shared , que será :

Specify that the Git repository is to be shared amongst several users. This allows users belonging to the same group to push into that repository. When specified, the config variable "core.sharedRepository" is set so that files and directories under $GIT_DIR are created with the requested permissions.

Coloque todos os usuários que devem ter acesso de gravação no mesmo grupo, e o Git (incluindo os vários elementos SSH e de servidor inteligente) criará os arquivos graváveis em grupo e g+sx . Você pode querer criar um grupo especial para usar e chgrp -R do repositório para ele.

Isso também ativará a configuração receive.denyNonFastForwards no repositório, que você pode desativar manualmente, se necessário.

    
por 14.03.2018 / 21:13