Sistemas de Controle de Versão: Centralizados e Distribuídos
Nesta postagem, vamos conhecer um pouco mais sobre esses tipos.
SCVs Centralizados
O tipo centralizado surgiu quando os desenvolvedores começaram a lidar com o problema de trabalhar em conjunto. Nos SCVs locais, era impossível trabalhar dessa forma, já que todas as versões do projeto ficavam em um computador não compartilhado.
Num SCV centralizado, o projeto fica guardado em um servidor que pode ser acessado de qualquer sistema operacional, facilitando assim o uso para cada desenvolvedor.
Figura 1. Sistema de Controle de Versão Centralizado |
Esse sistema possui algumas vantagens sobre o tipo local, por exemplo:
- Todos os desenvolvedores podem ter uma noção do que cada um está fazendo;
- É muito mais fácil lidar com SCVs Centralizados do que com bancos de dados locais para cada cliente;
- Administradores têm uma noção completa de como anda o projeto, além de controle específico sobre quem faz o quê.
Contudo, ele também possui desvantagens:
- Um SCV Centralizado possui apenas um servidor, ou seja, se este servidor cair, os desenvolvedores ficam impossibilitados de produzir;
- Ainda sobre o fato de haver apenas um servidor, se o banco de dados sofrer algum dano e não houver nenhum backup, todo o projeto é perdido;
SCVs Distribuídos
Para solucionar esses problemas que os SCVs Centralizados não conseguiram resolver, surgiram os SCVs Distribuídos. Neste tipo, não só o arquivo que aquele desenvolvedor está usando é copiado para seu servidor, mas todo o repositório. Assim, caso haja uma perda, basta copiar o repositório do servidor de algum usuário para o servidor central e continuar o projeto.
Figura 2. Sistema de Controle de Versão Distribuído |
Abaixo, uma tabela listando as principais vantagens e desvantagens de cada tipo de sistema:
Assim, é possível analisar cada tipo de sistema e decidir qual é o melhor a ser utilizado em seus projetos.
Comentários
Postar um comentário