Esse guia irá ensinar a escrever uma mensagem de commit e a importância dela. Além disso, você vai entender porque é importante escrever uma boa mensagem usando boas práticas e conhecer dicas para planejar e (re)escrever o seu histórico de commits.
Todas as mensagens de commit devem ser escritas em português do brasil (pt-BR).
Em termos simples, o commit é uma espécie de snapshot dos seus arquivos locais gravado localmente no seu repositório. Ao contrário do que se pensa, o git não armazena apenas as diferenças e sim a cópia completa dos arquivos. No caso de arquivos que não mudaram de um commit para o outro, é gravada uma referência ao arquivo gerado no último snapshot.
1 | # Bom |
1 | # Ruim |
Por que!?
A mensagem de commit diz o que ele faz, não o que foi feito.
1 | Se aplicado, este commit vai: <mensagem de commit> |
Regrinha pra ajudar a visualizar melhor a mensagem
1 | # Bom |
1 | # Ruim |
Tente comunicar o que o commit faz sem que seja necessário olhar o conteúdo dele
1 | # Bom |
1 | # Ruim |
1 | # Bom |
1 | # Ruim |
Modelo que pode te ajudar a entender melhor como fazer:
Sendo o titulo o assunto do commit e os demais o corpo da mensagem de commit. Lembre-se sempre de separar os parágrafos com uma linha em branco.
Tente manter o tamanho das colunas em 72 caracteres, pois fica mais fácil de ler em qualquer tela e ambiente
Exemplo:
1 | # Bom |
Emojis são permitidos desde que sejam usados só para complementar as mensagens, nunca substituir.
A seguir alguns comandos em git que podem ajudar a visualizar melhor o processo e conseguir seguir esse padrão de mensagens de commit:
1 | # exibe um mapeamento de histórico de commits contendo commit_id e o sumario/assunto do commit |
1 | # oferece um sumario/assunto de cada commit e abre no editor |
1 | # produz uma saída de logs sumarizada em linhas no estilo changelog |
1 | # ferramenta gráfica e simples do git que tem um coluna somente para sumários/assuntos dos commits |
Em resumo podemos apontar os itens abaixo, que descrevem uma boa mensagem de commit dentro de todo o processo.