O que é controle de versão?

Sistemas de controle de versão (VCS), também conhecidos como sistemas de gerenciamento de código-fonte (SCM), permitem que você acompanhe todas as alterações na sua base de código.

Ao manter seus arquivos em um sistema de controle de versão, você pode ver cada edição, adição ou exclusão, quando ela foi feita e por quem.

Você também pode reverter para um estado anterior e comparar as alterações nos arquivos ao longo do tempo. O controle de versão é uma ferramenta essencial para o desenvolvimento de softwares modernos. Isso não apenas dá a todos visibilidade das alterações, como também permite que várias pessoas trabalhem nos mesmos arquivos e mesclem suas atualizações, tornando mais fácil gerenciar versões e lançamentos.

Há dois tipos principais de VCS: distribuídos e centralizados. Em um sistema centralizado, todos os arquivos são armazenados em um servidor central, e os usuários individuais “fazem check-out” de uma cópia local dos arquivos, que então sincronizam com a fonte central da verdade.

No entanto, a principal desvantagem dessa abordagem é que o servidor central é um ponto único de falha. Em contraste, existem várias cópias dos arquivos em um sistema de controle de versão distribuído e, portanto, várias fontes da verdade.

Qualquer que seja o sistema que você use, as etapas básicas envolverão atualizar sua cópia local dos arquivos de origem, trabalhar nas alterações localmente e, em seguida, compartilhar essas alterações com outros na forma de uma submissão.

Colocar todos os arquivos para construir sua aplicação em um único repositório de controle de versão que todos possam acessar é o primeiro passo em direção à implementação da integração contínua e à construção de um pipeline de CI/CD.

Isso permite que todos compartilhem suas alterações regularmente, acionando assim o processo automatizado de construção e teste para fornecer feedback rápido sobre as alterações.

Quando surgem problemas, seja em teste ou produção, você pode identificar as submissões que introduziram o problema e usar o histórico de revisão para entender exatamente o que mudou.