Explorar repositórios únicos versus repositórios múltiplos

Concluído

Um repositório é o local em que seu histórico de trabalho é armazenado, geralmente em um subdiretório do Git.

Como você deve organizar seu repositório de código? As equipes de desenvolvimento buscam separar as preocupações em seus softwares e repositórios. Com o passar do tempo, não é incomum que os repositórios de código fiquem cheios de códigos e artefatos irrelevantes.

Quando se trata de organizar seus repositórios, existem duas filosofias principais: usar um único repositório (Repositório único) ou vários repositórios.

  • O repositório único é um padrão de controle do código-fonte em que todo o código-fonte é mantido em um único repositório. É fácil dar a todos os funcionários acesso a tudo de uma vez. Clone-o e pronto.
  • A organização dos seus projetos em repositórios separados é chamada de vários repositórios.

A diferença fundamental entre as filosofias de repositório único e de vários repositórios é o que habilita as equipes a trabalharem juntas com mais eficiência. Em um cenário extremo, a exibição de vários repositórios sugere que cada subequipe pode trabalhar em seu próprio repositório. Isso permite que eles trabalhem em suas respectivas áreas utilizando as bibliotecas, as ferramentas e os fluxos de trabalho de desenvolvimento que otimizam sua produtividade.

O custo de consumir qualquer coisa que não tenha sido desenvolvida em um determinado repositório é equivalente ao uso de uma biblioteca ou serviço de terceiros, mesmo que tenha sido gravado por alguém que esteja por perto.

Se você encontrar um bug em sua biblioteca, deverá resolvê-lo no repositório correspondente. Uma vez publicado um novo artefato, você pode retornar ao seu repositório e fazer as alterações de código necessárias. No entanto, se o bug estiver em uma base de código diferente ou envolver bibliotecas, ferramentas ou fluxos de trabalho diferentes, talvez você precise buscar assistência do proprietário desse sistema e aguardar a resposta.

Ao usar a exibição do gerenciamento de repositório único, o gerenciamento de gráficos de dependência complexos pode aumentar a dificuldade de usar um único repositório. Os benefícios de permitir que diferentes equipes trabalhem de forma independente não são substanciais. Algumas equipes podem encontrar uma maneira eficiente de trabalhar, mas isso pode não ser verdade para todos os grupos. Além disso, outras equipes podem escolher uma abordagem abaixo do ideal, anulando os benefícios obtidos por outras pessoas. A consolidação de todo o seu trabalho em um repositório único permite que você se concentre em monitorar de perto esse único repositório.

O incômodo de fazer alterações em outros repositórios ou esperar que as equipes façam alterações para você é evitado em um repositório único, em que qualquer pessoa pode alterar qualquer coisa.

Se você descobrir um bug em uma biblioteca, corrigi-lo é tão fácil quanto encontrar um bug em seu próprio código.

Observação

No Azure DevOps, é comum utilizar um repositório separado para cada solução associada em um projeto.