git/gitolite: grande repositório git com vários miniprojetos

git/gitolite: grande repositório git com vários miniprojetos

Sou muito novo em todo o controle de versão, e ainda mais no git. Instalei recentemente o git no(s) meu(s) computador(es) e configurei-o em um servidor NAS.

No entanto, tenho várias pastas de clientes com várias pastas de projetos por pasta de cliente.

Cada uma dessas pastas de cliente é um repositório gigante, abrangendo todos os projetos dentro dele.

O que estou me perguntando é: existe uma maneira de separar isso? Então, por exemplo:

  1. O NAS é minha 'origem' e tem o gitolite instalado

  2. No computador1 eu tenho todas as pastas de projeto em uma pasta de cliente já criada (ramificação limpa),

  3. No computador2 eu façonãoum novo checkout da filial do cliente (porque todos os projetos dessa filial estão todos concluídos e não preciso de uma cópia funcional dele), masfazertenha uma nova pasta de projeto para esse cliente "newproject".

Existe uma maneira de confirmar e enviar para o repositório NAS do computador2?

Ou talvez exista uma maneira melhor de organizar tudo isso?

Responder1

Uma melhor organização dos repositórios Git é ter um repositório por projeto cliente (ou seja, muitos repositórios dentro de suas pastas cliente: um .git dentro de cada subdiretório de pasta cliente que corresponda a um diretório raiz do projeto).

A ideia de ter um repositório gigante por cliente não é necessariamente uma boa ideia, principalmente:

  • se essa pasta for composta por projetos que podem evoluir independentemente uns dos outros.
  • se a soma total for enorme em volume (o que significa que qualquer clone será grande)

Se alguns desses projetos estiverem vinculados, você ainda poderá visualizá-los como um repositório (pai), com a noção desubmódulos.

informação relacionada