Mostrando postagens com marcador cvs. Mostrar todas as postagens
Mostrando postagens com marcador cvs. Mostrar todas as postagens

terça-feira, 5 de janeiro de 2021

Versionamento centralizado e distribuido

Controle de Versão é um sistema que armazena todo o histórico no desenvolver de um projeto de 

software seja alterações de código, inclusão, remoção etc.. Sua finalidade é gerenciar diferentes versões 

de um documento que sofre alterações ao longo do tempo durante o desenvolvimento de um projeto.
 

Versionamento centralizado

O versionamento centralizado é composto por um único servidor central e várias estações

de trabalho, com base no conceito de arquitetura cliente-servidor. Este sistema possui uma topologia na 

forma de estrela, sendo um único repositório central para várias estações de trabalho.O mesmo mais 

voltado para equipes pequenas.

Alguns exemplos de sistema como esse são: Subversion e CVS.

 

Vantagens

  • Maior controle do projeto.
  • Possibilidade de bloqueio de arquivos específicos.
  • Imposição de segurança de acesso.


Desvantagens

  • Baixa escalabilidade.
  • Todas versões ficam em uma única maquina.
  • Necessidade de conexão constate com o servidor.


Versionamento distribuído

No versionamento distribuído existem vários diretórios autônomos e independentes, para cada

programador (estação de trabalho). Ou seja cada estação de trabalho possui seu próprio repositório e as

alterações feitas no código são salvas localmente. Ao contrário do versionamento centralizado as 

estações podem se comunicar entre si, mas é recomendado que se utilize um servidor responsável.

Git, mercurial e Bazaar são alguns exemplos desse tipo de sistema.

 

Vantagens

  • Maior rapidez e autonomia.
  • Replicação de repositórios.

Desvantagens

  • Uma maior complexidade no fluxo de trabalho.



Essa arquitetura é recomendada para equipes com grande quantidade de desenvolvedores que estão

remotamente distantes.