Pular para o conteúdo

Por que devo usar pre-commit antes de fazer um commit?

  • por

Ola Pessoal,

Neste post, vamos mostrar como instalar e usar o pre-commit antes de fazer um commit, além de comentar sobre seus benefícios.

Se você não conhece o pre-commit. Você TEM que usar e conhecer essa solução, que vai facilitar na aplicação das melhores praticas e evitar que seja feito um commit com algum tipo de erro, que venha a prejudicar o código.

O pre-commit, pode ser utilizado por todos, não somente por Desenvolvedores ou time de operacional, nos podemos verificar codigo que foi criado em diversas soluções como terraform, ansible e etc..

Como instalar?
– Linux:  brew install pre-commit
– Mac: brew install pre-commit 
– Windows: Recomendo que use WSL2 e use o mesmo comando que existe no windows
Se precisa instalar o brew, veja esse link: https://brew.sh/

Como configurar?
– Dentro do repositório git que você tem que criar o arquivo: .pre-commit-config.yaml  (o arquivo tem que começar com . )
Adicione o conteúdo abaixo no arquivo .pre-commit-config.yaml

# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
– repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
– id: trailing-whitespace
– id: end-of-file-fixer
– id: check-yaml
– id: check-added-large-files
 
– Na configuração acima, o pre-commit vai verificar no repositório:
   Espaço em branco à direita.
   Garante que os arquivos terminem em uma nova linha.
   Tenta carregar todos os arquivos yaml para verificar a sintaxe.
   Evite que arquivos grandes sejam inseridos em um commit.


Como usar a configuração acima?

– Rode o comando: pre-commit install , para instalar usando a configuração feita no item anterior.
– Agora que esta tudo pronto, você pode usar o comando: pre-commit run -a , para verificar as suas mudanças antes de fazer um commit.
terraform $pre-commit run -a
trim trailing whitespace………………………………………….Passed
fix end of files…………………………………………………Passed
check yaml………………………………………………………Passed
check for added large files……………………………………….Passed
Terraform fmt……………………………………………………Passed
terraform $

Espero que tenha ajudado 😀

Fonte:

– https://pre-commit.com/
– https://brew.sh/


Deixe uma resposta