Sobes.tech
Junior

O que é um sistema de controlo de versões?

sobes.tech IA

Resposta da IA

O sistema de controlo de versões (SCV, VCS) é uma ferramenta que permite rastrear alterações em ficheiros e gerir essas alterações ao longo do tempo.

Principais funções:

  • Histórico de alterações: Guardar cada versão do ficheiro com a possibilidade de regressar a qualquer versão anterior.
  • Ramificações: Criar linhas de desenvolvimento independentes para experimentos ou trabalho em diferentes funcionalidades em paralelo.
  • Fusão: Combinar alterações de diferentes ramificações numa só.
  • Sincronização: Alinhar alterações entre cópias locais do código e o repositório central (para SCV distribuídos).
  • Acompanhamento de autores: Identificar quem e quando fez uma alteração específica.

Tipos de SCV:

  • Centralizados (CVCS): Por exemplo, Subversion (SVN). Um servidor central armazena toda a história. Os clientes trabalham com esta cópia central.
  • Distribuídos (DVCS): Por exemplo, Git. Cada utilizador tem uma cópia completa do repositório, incluindo toda a história. O trabalho pode ser feito offline, sincronizando quando necessário.

Vantagens do uso de SCV:

  • Trabalho colaborativo: Facilita o trabalho paralelo no código comum.
  • Recuperação: Permite reverter facilmente para versões estáveis em caso de erros.
  • Rastreabilidade: É possível ver quem, quando e porquê fez cada alteração.
  • Cópia de segurança: O histórico de alterações é, em essência, uma forma de backup.
  • Gestão de versões: Ajuda a rastrear diferentes versões do produto.

Exemplo de comando Git para guardar alterações:

# Adiciona todos os ficheiros modificados ao índice
git add .
# Cria um commit com uma mensagem que descreve as alterações
git commit -m "feat: Adicionada função de registo"