Sobes.tech
Junior — Middle

Explique as diferenças entre os comandos commit, branch e tag no sistema de controle de versões.

sobes.tech IA

Resposta da IA

Nos sistemas de controlo de versões (por exemplo, Git), os comandos commit, branch e tag desempenham funções diferentes:

  • commit — regista as alterações no repositório. Cada commit contém uma fotografia do estado atual dos ficheiros, uma mensagem com a descrição das alterações e um identificador único (hash). Os commits formam a história do projeto.

  • branch — é um apontador para um commit específico, representando um ramo de desenvolvimento separado. Os ramos permitem trabalhar em paralelo em diferentes funcionalidades ou correções, sem interferir com o ramo principal.

  • tag — é uma etiqueta que aponta para um commit concreto e é normalmente usada para marcar versões ou lançamentos importantes. Ao contrário dos ramos, as tags geralmente não mudam.

Exemplo:

  • Foram feitos vários commits com alterações.
  • Criou-se um ramo feature para uma nova funcionalidade.
  • Após terminar, o ramo feature foi fundido na main.
  • Colocou-se a tag v1.0 no commit correspondente ao lançamento.

Assim, commit é uma unidade de alterações, branch é uma linha de desenvolvimento paralela, e tag é uma marca para pontos importantes na história.