git Permissão?

1

Gostaria de dar a um designer o acesso ao html / css / images etc para um projeto no qual estou trabalhando. O problema é que o repositório git que armazena essa informação também é compartilhado com a base de código geral, a qual eu prefiro que o designer não tenha acesso, já que eles não precisam dela.

No SVN, resolvo isso simplesmente permitindo que diretórios dentro do repositório sejam acessíveis apenas por certas pessoas. Tanto quanto eu sei que isso não é possível no git devido à estrutura diferente, você tem o repositório inteiro ou você não tem.

Qual é a maneira recomendada de concluir isso? Como os outros estão lidando com esse problema?

Obrigado

    
por Adam Gibbins 23.12.2009 / 00:30

4 respostas

6

Aprenda a viver com o designer tendo acesso ao código (eles não podem mudar nada sem deixar um registro dele, pelo menos), ou então divida as coisas que eles precisam acessar em um repositório separado e inclua isso no seu projeto principal como um submódulo. Você pode usar git filter-branch para remover as partes do repositório que você não deseja que o designer tenha acesso no repositório separado.

    
por 23.12.2009 / 00:42
3

O Git não funciona assim.

Se você quer restringir o acesso de leitura à árvore, então sua única opção é dividir as coisas que você quer que ele tenha acesso, em um repositório separado.

Se a pergunta for sobre acesso de acesso / gravação, peça ao designer para clonar seu repositório git, fazer as mudanças e confirmá-las no repositório clonado. E publique este repositório clonado em algum lugar para você extrair.

O GitHub é excelente para esse tipo de coisa.

Você pode puxar as alterações dele quando precisar, inspecioná-las, testá-las e mesclá-las na linha principal.

    
por 23.12.2009 / 01:17
0

De acordo com o Pro Git , você pode usar Impor um sistema de ACL baseado no usuário para permitir que apenas determinados usuários modifiquem determinados subdiretórios em um projeto.

Do artigo:

In this case, you have a couple of administrators, some documentation writers with access to the doc directory, and one developer who only has access to the lib and tests directories, and your ACL file looks like this

avail|nickh,pjhyett,defunkt,tpw
avail|usinclair,cdickens,ebronte|doc
avail|schacon|lib
avail|schacon|tests
    
por 23.12.2009 / 00:50
0

Você já analisou Gitosis ? Não tenho certeza de que ele fará exatamente o que você quer, mas foi projetado para controlar o acesso a repositórios git. Não tenho certeza se será granular o suficiente para você, no entanto.

    
por 23.12.2009 / 21:45