O que é o sistema de controle de versão?

 O que é o sistema de controle de versão?

Um sistema de controle de versão VCS (version control system) ou  SCM (source code management) possibilita que desenvolvedores gerencie e acompanhem as mudanças feitas no desenvolvimento de códigos ou documentos  compartilhado com outros usuários e permitindo que ao longo do tempo os usuários possam realizar modificações, recuperar versões anteriores dos códigos e documentações.
Os desenvolvedores podem combinar as alterações de código quando necessário. Além disso, eles podem visualizar o histórico de alterações, voltar para as versões anteriores  usar e gerenciar os código da maneira desejada, sem mexer no projeto principal ou resgatar o sistema em um ponto que estava estável, isso tudo sem mexer na versão principal.


 Benefícios de uso de um sistema de controle de versão

 As principais vantagens do uso de um sistema de controle de versão incluem a simplificação do processo de desenvolvimento, o gerenciamento de código para vários projetos e o histórico de todas as alterações em um código.
Um software de controle de versão salva todas as alterações em um repositório (um servidor). Portanto, se os desenvolvedores cometerem um erro, poderão desfazê-lo e resgatar a última versão disponível e fazer uma cópia local, na qual poderão trabalhar nessa versão e continuar o processo de desenvolvimento. Ao mesmo tempo, eles podem comparar o novo código com as versões anteriores para e encontrar possíveis erros realizando comparações. A cada alteração feita, é possível enviar novamente ao repositório e assim atualizar a sua versão a partir outras feitas pelos demais desenvolvedores.  Isso pode reduzir em grande parte os erros humanos e as consequências não intencionais. Um ótimo ajuste para qualquer empresa de desenvolvimento web em todo o mundo. 


Figura1. Usar o VCS é uma escolha inteligente.


Atualmente, os sistemas de controle de versão são classificados em dois tipos: Centralizados e distribuídos:
O Sistema de controle centralizado opera com apenas um servidor central e varias estações de trabalho ligadas a esse repositório central que contém todos os arquivos versionados e vários clientes que podem resgatar os arquivos nesse servidor central.



 
Figura2. O Centralizado trabalha apenas com um servidor central e diversas áreas de trabalho.



O Sistema de controle distribuído é de certa forma mais complexo e completo, os usuários  não apenas fazem cópias das últimas versões dos arquivos, mas são cópias completas do repositório. Se um dos servidores falha, qualquer um dos repositórios dos clientes pode ser copiado de volta para o servidor para restaurá-lo e assim não existe problema com a perda de arquivos.  




Figura3. O Distribuído cada repositório possui uma área de trabalho acoplada.



Comentários

Postagens mais visitadas