Quando falamos sobre padrões e nomenclaturas no Git, é um ponto importante, embora não seja essencial. No entanto, seguir boas práticas, como manter um padrão consistente e utilizar nomes claros e descritivos nas branches, pode facilitar bastante o desenvolvimento em equipe e a manutenção do projeto.
Neste artigo, quero compartilhar um guia prático de versionamento e nomenclaturas que adotei e que tem sido útil no meu dia-a-dia!
Nomenclaturas para Commits
O commit semântico possui os seguintes elementos estruturais, que informam a intenção do seu commit:
feat:
Indica que seu código está incluindo um novo recurso.
feat: adicionar funcionalidade de login com Google
fix:
Indica que seu commit está solucionando um problema.
fix: corrigir erro 500 na página de perfil`
docs:
Indica mudanças na documentação, como no README do seu repositório.
docs: atualizar instruções de instalação
test:
Utilizado quando realizamos alterações em testes, seja criando, alterando ou excluindo testes unitários.
test: adicionar testes para a função de autenticação
build:
Usado para modificações em arquivos de build e dependências.
build: atualizar dependências no package.json
perf:
Identifica alterações de código relacionadas à performance.
perf: otimizar consulta ao banco de dados
style:
Para alterações relacionadas a aspectos visuais ou de formatação do código.
style: corrigir formatação do código
refactor:
Para melhorias na qualidade interna do código, sem alterar sua funcionalidade.
refactor: simplificar a lógica de validação
chore:
Indica atualizações de tarefas de build, configurações de administrador, pacotes, etc.
chore: adicionar arquivo .gitignore
remove:
Indica a exclusão de arquivos, diretórios ou funcionalidades obsoletas ou não utilizadas.
remove: remover código não utilizado da API
Nomenclaturas de Branch
Branch main
Esta branch contém a versão atual do software em produção. Ela está vinculada a uma pipeline que, a cada push, implementa automaticamente uma nova versão em produção.
Branch dev
Aqui se concentra o maior fluxo de trabalho e colaboração da equipe. As alterações feitas aqui provavelmente farão parte da próxima versão de lançamento.
Branch release
Esta branch é usada para preparar o lançamento de uma nova versão, contendo as funcionalidades desenvolvidas que serão implementadas em produção. O nome da branch geralmente segue o formato: release/v2.0.0
.
Branch feature
Uma feature branch identifica o desenvolvimento de uma funcionalidade específica, como por exemplo: feature/nova-funcionalidade
. Ela é uma cópia da branch dev, e várias feature branches podem existir simultaneamente, cada uma dedicada a uma funcionalidade diferente. Após a conclusão do desenvolvimento, a branch é finalizada e o merge é feito com a branch dev.
Branch hotfix
A hotfix branch é usada para corrigir bugs urgentes que não podem esperar pela próxima versão. Ela é uma cópia da branch main e segue o formato hotfix/v2.0.0-corrigir-falha-login
. Após a correção, o merge é feito tanto na branch main quanto na dev para manter os repositórios atualizados.
Branch bugfix
A bugfix é usada para corrigir bugs de baixa urgência. Ela é uma cópia da branch dev e segue o formato bugfix/ajustar-estilo-pagina-inicial
. Após a correção, o merge é feito na branch dev, e a correção será incluída na próxima release.
Seguir essas nomenclaturas e padrões não apenas melhora a organização do seu repositório, mas também facilita a colaboração e o entendimento das mudanças feitas ao longo do tempo. Espero que este guia prático ajude você!