Qual significado de branch, tag e trunk?

Branch, tag e trunk são termos comumente usados ​​no controle de versão de um sistema de software.

  • Branch (ramificação): é uma cópia independente do código-fonte em um repositório de controle de versão. É usada para desenvolver recursos ou correções em paralelo ao tronco principal (trunk). Um branch geralmente é criado quando um desenvolvedor deseja trabalhar em uma alteração sem afetar o código principal. Por exemplo, se um novo recurso está sendo desenvolvido, um branch pode ser criado para que o desenvolvedor possa trabalhar nele sem interferir no desenvolvimento em andamento no trunk.

  • Tag (marcação): é uma indicação fixa de um ponto específico na história de um projeto de software. Geralmente é usado para marcar versões lançadas ou marcos importantes ao longo do tempo. Por exemplo, quando uma versão final de um software é lançada, geralmente é aplicada uma tag a esse ponto na árvore de versão. Isso permite que os desenvolvedores se refiram facilmente a versões específicas do software enquanto continuam a desenvolver novos recursos no trunk ou em branches diferentes.

  • Trunk (tronco): é a linha principal de desenvolvimento em um repositório de controle de versão. É a versão principal e estável do código-fonte de um projeto. Os desenvolvedores geralmente trabalham no trunk para adicionar novos recursos, realizar correções de bugs e integrar as alterações feitas em branches de desenvolvimento. O trunk representa a versão atual e atualizada do software.

Usando uma analogia, você pode pensar em um repositório de controle de versão como uma árvore. O trunk é o tronco principal da árvore, de onde todos os galhos (branches) se originam. As tags são como marcas permanentes em alguns galhos, indicando pontos específicos na história da árvore.