Commit semântico
Tags: github, git, webdev, programming
Published: 2023-01-18 02:41:42


**Commit semântico** é uma técnica de versionamento de código que se concentra em fornecer mensagens de commit claras e precisas que descrevam exatamente as alterações feitas. Ao contrário de simplesmente escrever "correção de bug" ou "atualização", um commit semântico deve incluir informações detalhadas sobre o que foi corrigido ou atualizado, bem como o contexto dessas alterações.

## Por que é importante fazer commits semânticos? 

Um dos principais benefícios é que eles tornam mais fácil para os desenvolvedores entenderem as alterações feitas no código, especialmente quando trabalham em equipes. Se uma mensagem de commit é clara e precisa, os desenvolvedores saberão exatamente o que foi alterado e por quê, sem precisar investigar o código. Isso também pode ajudar a identificar e corrigir bugs mais facilmente.

Outro benefício de fazer commits semânticos é que eles ajudam a manter o histórico do código organizado e fácil de navegar. Se as mensagens de commit são precisas e descritivas, os desenvolvedores podem facilmente ver o que foi alterado em cada commit e encontrar qualquer código específico que estejam procurando.

Alguns exemplos de mensagens de commit semânticas incluem:

```
- "Adicionado validação de entrada para o formulário de contato"
- "Corrigido bug que causava erro de exibição em dispositivos móveis"
- "Atualizado dependências para a versão mais recente"
```

Existem algumas boas práticas para seguir quando se trata de escrever mensagens de commit semânticas:

- **Seja preciso e descritivo:** explique exatamente o que foi alterado e por quê.
- **Seja conciso:** evite escrever mensagens longas e detalhadas.
- **Use o tempo presente:** use verbos no tempo presente, como "adicionado", "corrigido", "atualizado",

Em alguns casos usa-se complementos que facilitam o entendimento e a organização dos commits, são eles: 

- Prefixos 
- ícones

## Prefixos de commit

Os prefixos de commit são uma maneira de categorizar ou identificar o tipo de alteração feita no código em uma mensagem de commit. Eles podem ser usados para indicar se uma alteração é uma correção de bug, uma nova funcionalidade, uma melhoria ou uma atualização de dependência, por exemplo. Alguns exemplos comuns de prefixos de commit incluem:

```
1. "feat:" para novas funcionalidades
2. "fix:" para correções de bugs
3. "docs:" para alterações na documentação
4. "style:" para alterações no estilo de código (indentation, formatação, etc)
5. "refactor:" para refatoração de código existente
6. "perf:" para melhorias de desempenho
7. "test:" para adição ou alteração de testes
8. "chore:" para tarefas de manutenção, como atualização de dependências
```
Os prefixos de commit são uma convenção adotada por muitos projetos de software, mas isso pode variar de projeto para projeto. Em alguns podem usar prefixos diferentes, ou nenhum. O importante é que as mensagens de commit sejam claras e descritivas para que os desenvolvedores possam entender facilmente as alterações feitas no código.

Alguns exemplos de commit semântico com prefixo

```
- "feat: Adicionado validação de entrada para o formulário de contato"
- "fix: Corrigido bug que causava erro de exibição em dispositivos móveis"
- "chore: Atualizado dependências para a versão mais recente"
```

## Ícones no commit

Os ícones no commit são uma forma visual de indicar o tipo de alteração feita no código, geralmente usado junto com uma mensagem de commit. Eles podem ser usados ​​para identificar rapidamente o tipo de alteração sem precisar ler a mensagem de commit inteira. Alguns exemplos de ícones comuns usados ​​em commits incluem:

:bug: para correções de bugs - 🐛
:sparkles: para novas funcionalidades - ✨
:pencil: para alterações na documentação - 📝
:wrench: para alterações de configuração - 🔧
:rocket: para melhorias de desempenho - 🚀
:recycle: para refatoração de código existente - ♻️
:white_check_mark: para adição de testes - ✅
:construction: tarefas em progresso - 🚧
:lipstick: estilização de interface - 💄

Os ícones são geralmente usados ​​com prefixos de commit, mas eles podem ser usados ​​sozinhos também. Eles são uma forma de tornar as mensagens de commit mais fáceis de ler e identificar, especialmente quando há muitos commits em um projeto.

Os ícones podem ser incluídos no início da mensagem de commit, seguindo uma convenção de prefixo + ícone, ou ao lado do prefixo, como forma de enriquecer a mensagem.

É importante notar que os ícones usados ​​em commits podem variar de projeto para projeto, e essa convenção pode não ser adotada em todos.

Alguns exemplos de commit semântico com prefixo e ícones

```
- "feat: ✨ Adicionado validação de entrada para o formulário de contato"
- "fix: 🐛 Corrigido bug que causava erro de exibição em dispositivos móveis"
- "chore: 🔧 Atualizado dependências para a versão mais recente"
```