Série: Contribuindo

Faça uma boa mensagem de commit

  • Se é um pequeno commit tudo bem abreviar a mensagem com apenas um título com o comando git commit -am "uma descricao do que este commit faz em ate 50 caracteres"
  • Mas se é um commit que vai influenciar muito o código de outros ramos ou que vai ser usado para pull request então é importante escrever uma boa mensagem. Neste caso, não use o comando abreviado. Use os comandos:
    • git add arquivo : se necessário adicionar algum arquivo
    • git commit : sem abreviação e sem mensagem. Este comando vai abrir o vi (ou seu editor preferido) para você digitar uma mensagem de commit maior.
      • Na primeira linha, escreva um título do commit com até 50 caracteres, como você já está acostumado.
      • Pule uma linha.
      • Da terceira linha para baixo, descreva com mais detalhes tudo o que você fez, o que este commit inclui, o que muda, qual funcionalidade é acrescentada ou bug é resolvido.
      • Saia com :x (no vi) para salvar e fazer o commit
      • Saia com :q! (no vi) para abortar a edição e não fazer o commit
      • Linhas iniciadas com # são ignoradas pelo git como sendo comentários e não são escritas no commit.
  • Exemplo de uma boa mensagem de commit:
Faz um exemplo para demonstrar a clareza do commit

Sem este commit a explicação sobre mensagens de commit ficaria 
falha, sem um exemplo concreto. Este é um problema, porque assim 
fica apenas na imaginação o que seria um bom commit.Este commit 
corrige este problema ao fazer aqui um exemplo concreto e imperativo.

A primeira linha é um título imperativo descritivo do essencial. 
Os dois parágrafos seguintes, o de cima e este, são explicações mais 
aprofundadas. É importante descrever:

(1) _o que ocorria_ antes do commit, 
(2) _qual_ é o problema que este commit resolve, 
(3) _porque_ este comportamento é problemático, e 
(4) _como_ este commit corrige este problema.

Também é possível usar enumerações para clarificar algumas mudanças 
em pontos específicos, como:

* mudafunc() : agora não retorna mais void e sim o código do cliente
* funcoutra() : criada para cumprir outra finalidade que faltava
* divideaqui() : criada para cumprir uma finalidade tal e tal que 
antes estava sendo feita na função mudafunc() de modo a ficar mais 
clara a divisão do que cada função faz.

Lembre que a primeira linha é importante para ver o log e acompanhar a evolução do programa.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>