Como organizar commits... com emoji!

XKCD comic

https://xkcd.com/1296/

Este artigo assume algum conhecimento prévio sobre Git e sistemas de gestão de versões.

Só porque sou hipster, vou começar a marcar os meus commits com emoji. Assim, ao analisarem um símbolo à esquerda, já sabem que tipo de commit é!

  • :wrench: (‘:wrench:’) Resolução de algum bug ou problema
  • :warning: (‘:warning:’) WorkInProgress?
  • :pencil: (‘:pencil:’) Algo relacionado com conteúdo textual (uma mensagem numa página ou uma label?)
  • :book: (‘:book:’) Atualização de documentação
  • :email: (‘:email:’) Algo relacionado com e-mail
  • :sunglasses: (‘:sunglasses:’) Estilização de componentes

Uh… contexto?

Não é por acaso que, dentro do sistema de revisão/versioning Git, toda a revisão (commit) requer uma mensagem. Afinal de contas, qualquer alteração ao código de um projeto deve ser justificada, e é de esperar uma descrição para a mesma. Como é que vou aprovar ou inverter uma alteração da autoria de outrém se não souber o motivo por detrás dela?

É, portanto, de esperar que existam pessoas com uma justificada preocupação pelo modo como estas mensagens são escritas (como este senhor, ou este senhor, ou este senhor).

Alguma vez ponderaste definir uma estrutura básica para uma mensagem relativa a um commit? Quiçá, para que seja possível analisar e rever o histórico de um projeto e das suas alterações? Ou mesmo apenas para reforçar alguma disciplina numa equipa desorganizada?