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.