DEV Community

Edson Costa for Devs Norte

Posted on

Padronizando Commits com Commitizen e Husky

Os commits bem estruturados são essenciais para manter a clareza e organização em projetos de desenvolvimento de software. Quando várias pessoas colaboram em um projeto, é crucial manter um padrão para mensagens de commit, facilitando a compreensão das alterações realizadas em um determinado momento. Neste artigo, exploraremos como padronizar commits usando as ferramentas Commitizen e Husky.

Por que padronizar commits?

Padronizar commits traz uma série de benefícios para equipes de desenvolvimento:

  1. Clareza: Mensagens de commit bem estruturadas tornam mais fácil entender o propósito das alterações.
  2. Rastreabilidade: Com commits padronizados, é mais simples rastrear a evolução do código ao longo do tempo.
  3. Facilidade de Reversão: Commits bem documentados facilitam a identificação de alterações específicas, tornando mais fácil reverter mudanças indesejadas.
  4. Colaboração: Padronizar commits promove uma melhor colaboração entre membros da equipe, pois todos seguem as mesmas convenções.

Introdução ao Commitizen e Husky

Commitizen é uma ferramenta que visa facilitar a criação de commits padronizados seguindo as convenções do Conventional Commits. Ele fornece uma interface interativa para guiar os desenvolvedores na criação de mensagens de commit consistentes.

Husky, por outro lado, é uma biblioteca que nos permite configurar ganchos (hooks) Git facilmente. Podemos usá-lo para executar scripts automatizados antes de certos eventos do Git, como commit, push e outros.

Passos para padronizar commits com Commitizen e Husky

Aqui estão os passos necessários para padronizar commits em seu projeto:

1. Instalação do Commitizen e Husky

Certifique-se de que o Node.js esteja instalado em seu sistema. Em seguida, instale o Commitizen e Husky como dependências de desenvolvimento em seu projeto:

npm install --save-dev commitizen husky
Enter fullscreen mode Exit fullscreen mode

2. Configuração do Commitizen

Depois de instalar o Commitizen, você pode configurá-lo para seu projeto executando o seguinte comando:

npx commitizen init cz-conventional-changelog --save-dev --save-exact
Enter fullscreen mode Exit fullscreen mode

Isso instalará o adaptador cz-conventional-changelog e configurará o Commitizen para usar o Conventional Commits.

3. Configuração do Husky

Com o Husky, podemos configurar ganchos Git para executar scripts antes de certos eventos. Para configurar o Husky, adicione o seguinte script ao seu package.json:

"husky": {
  "hooks": {
    "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
  }
}
Enter fullscreen mode Exit fullscreen mode

Este script usa o commitlint para verificar se a mensagem de commit está em conformidade com as convenções especificadas.

4. Adicionar Configurações de Commitlint

O commitlint é uma ferramenta de validação de mensagens de commit baseada em regras. É comumente usado para garantir que as mensagens de commit sigam um formato específico. Você pode instalar o commitlint e as configurações do Conventional Commits usando:

npm install --save-dev @commitlint/{config-conventional,cli}
Enter fullscreen mode Exit fullscreen mode

Em seguida, crie um arquivo commitlint.config.js na raiz do seu projeto e adicione o seguinte conteúdo:

module.exports = {extends: ['@commitlint/config-conventional']};
Enter fullscreen mode Exit fullscreen mode

5. Usando Commitizen para commits

Agora que tudo está configurado, ao executar git commit, você será levado a uma interface interativa fornecida pelo Commitizen para criar mensagens de commit.

Conclusão

Padronizar commits é uma prática recomendada que promove clareza, rastreabilidade e colaboração em projetos de desenv

Top comments (0)