Cá estamos de novo!
O que é um sistema de controle de versões?
Um sistema de controle de versão, para muitos, é o software responsável por armazenar a documentação, código-fonte, bibliotecas e todo o restante dos arquivos utilizados em um projeto de desenvolvimento de software, vulgo “repositório”.
É, mais ou menos.
No desenvolvimento de software, muitas pessoas trabalham com os mesmos arquivos e nestes promovem constantes mudanças. Por esse motivo, é extremamente necessário que certifique-se que todos estejam trabalhando com o documento mais atualizado e enxerguem as mesmas informações. Para isso e não somente, utilizamos os softwares de versionamento.
Assim que alguém altera algum código ou documento, já é possível visualizá-lo e trabalhar em cima dele. Basta solicitar, através de um comando, a última versão do mesmo ao software de CV e trabalhar em cima dela.
Isso já nos traz um grande benefício, que é minimizar problemas por conflitos de edições.
Legal!
Já vimos que o Controle de Versões é uma maneira de fazer com que todos os membros do time trabalhem com as mesmas informações, mas e o que mais ele faz?
Os sistemas de versionamento são considerados os salvadores da pátria pela turma de Gerência de Configuração nas empresas de Desenvolvimento de Software. Com ele, é possível dar permissões diferenciadas a grupos de usuário para acesso e manipulação de determinados arquivos ou pastas. Isso aumenta a segurança, já que cada um só trabalha com o que é de sua responsabilidade.
Fonte: http://www.webartigos.com - Controle de Versão Centralizado
O CV também guarda um histórico das versões dos arquivos que foram criados e alterados dentro da sua área de cobertura. Assim, é possível retornar o documento à uma versão antiga e estável, depois de ter feito alguma cagada.
Claro que nem tudo é perfeito, existem problemas de conflito que ocorrem quando 2 ou mais pessoas estão alterando um documento exatamente ao mesmo tempo, porém há alternativas como mesclagem de arquivos e outras, dependendo do software que você está utilizando.
Fonte: http://www.webartigos.com - Controle de Versão Distribuído
As características citadas acima, são comuns nos diversos softwares de controle de versão mercado a dentro, no entanto, existem conceitos diferentes de versionamento, como por exemplo controle de versão centralizado e distribuído. Isso ficará para um post mais detalhado sobre como cada um deles se comporta.
Abaixo listei alguns dos softwares mais utilizados:
Até a próxima, galera!