Um sistema de controle de versão tem como objetivo fazer o gerenciamento das várias versões que acabam sendo produzidas durante o desenvolvimento do código-fonte e da documentação de um sistema.
O principal benefício de um sistema de controle de versão é o controle do histórico do desenvolvimento, o que permite que as alterações sejam analisadas em detalhes da mais antiga até a mais atual.
Além disso, o trabalho em equipe é facilitado, visto que vários desenvolvedores podem trabalhar ao mesmo tempo em um mesmo documento. Claro que às vezes isso pode resultar em conflitos, nos casos em que, por exemplo, dois profissionais alterarem uma mesma rotina. Entretanto, os sistemas de controle de versão fornecem uma série de funcionalidades que não só identificam esses conflitos como ajudam o desenvolvedor a resolvê-los de maneira rápida e descomplicada.
Numa breve explicação de como funciona um sistema de controle de versão, todas as versões ficam armazenadas em um repositório, dentro de um servidor. Contudo, cada desenvolvedor trabalha com cópias locais. E antes de começar o trabalho, é preciso que o desenvolvedor certifique-se de que as versões que estão em sua máquina são as mais atuais. Feito isso e realizadas as alterações na cópia local, ele submete o arquivo ao repositório, que deve verificar possíveis conflitos e permitir ou não a efetivação das alterações no repositório.
Seja para submeter uma nova versão ao repositório ou obter uma versão mais antiga ou mais atual que a sua cópia de trabalho, o sistema de controle de versão deve possuir um controle de acessos.
MACHADO, Marcel Jacques. Segurança da Informação: uma Visão Geral sobre as Soluções Adotadas em Ambientes Organizacionais. Curitiba: UFPR, 2012. Trabalho de Graduação – Bacharelado em Ciência da Computação, Universidade Federal do Paraná, Curitiba, 2012.