Commit Messages Convention (CMC)

O Commit Messages Convention (CMC) foi desenvolvido para oferecer suporte a projetos GIT ou SVN para que haja maior organização dos commits no repositório. Ela define que a inserção de comentários deve ser precedido pelos tipos de ações que foram executadas nos arquivos versionados. Dessa maneira o versionamento de código-fonte fica mais flexível e coeso, facilitando a identificação do que foi realizado. Esta convenção segue o SemVer, descrevendo os recursos, correções e modificações que quebram a compatibilidade nas mensagens de commit.

Especificação

As palavras-chaves “MUST” (DEVE), “MUST NOT” (NÃO DEVE), “REQUIRED” (OBRIGATÓRIO), “SHALL” (DEVERÁ), “SHALL NOT” (NÃO DEVERÁ), “SHOULD” (PODEM), “SHOULD NOT” (NÃO PODEM), “RECOMMENDED” (RECOMENDADO), “MAY” (PODE) e “OPTIONAL” (OPCIONAL), nesse documento, devem ser interpretados como descrito na RFC 2119.

Como utilizar

Como padrão, cada tipo DEVE ser colocado com letra maiúscula, entre colchetes, precedendo o que foi realizado de forma clara e objetiva durante o versionamento do código.

A mensagem de commit DEVE ser estruturada da seguinte forma:

[TIPO obrigatório] <descrição|cabeçalho obrigatório>
--linha em branco--
<corpo opcional>
--linha em branco--
<rodapé opcional>
A mensagen:

Tipos

Os tipos abaixo representam opções que podem ser usadas no início de cada commit.

Tipo Descrição
[FEAT] Quando um novo recurso foi desenvolvido
[FIX] Quando um recurso/bug foi corrigido
[UPDATE] Quando arquivos estáticos foram renomeados, removidos, movidos de um diretório para outro, adicionados ou substituídos
[REFACTOR] Quando uma alteração de código que não corrige um bug nem adiciona um recurso
[DOCS] Somente alterações na documentação

Tipos especiais

É RECOMENDADO que os tipos especiais sejam utilizados em conjunto com os tipos anteriores, porem, eles PODEM ser usados em qualquer parte da mensagem.

Tipo Descrição
[WIP] Quando um desenvolvimento ainda esta em progresso
[BREAKING] ou [BREAKING CHANGE] Quando o commit inclui uma modificação que quebra a compatibilidade. PODE ser usado em qualquer parte do commit (, ou )

Exemplos:

[FEAT][WIP] Introduz um novo método de pagamento
[FIX][BREAKING] Substitui o gateway do PagSeguro por PayPal

Descrição

Para a mensagem de e do do _commit_, faz-se o uso do padrao ["Commit Message Guide"](https://github.com/RomuloOliveira/commit-messages-guide/blob/master/README_pt-BR.md) do @RomuloOliveira, que basicamente consiste em:

Corpo

Rodapé

Um de uma ou mais linhas PODE ser fornecido depois de uma --linha em branco-- após o . O DEVE conter informações adicionais sobre o _commit_, por exemplo, numero da issue/task, pull-requests, revisores, modificações que quebram a compatibilidade, com uma informação adicional por linha.

Exemplos

[FIX] Corrige a chamada do método "getProducts"

O retorno esperado do método "getProducts" era um array, porem retornava um objeto, isso causava um erro em produção.

Corrige a issue #92
[FEAT][WIP] Cria a classe PayPalGateway

Cria a estrutura base da integração com PayPal, assim como a interface de Gateway para uso futuro.
[REFACTOR] Refatora a classe PagSeguro

Reescrita da class PagSeguroGateway, para se adequar ao padrao da interface Gateway.
[BREAKING CHANGE] Como a classe PagSeguroGateway foi refatorada, todos os método também foram modificados.

Depende do commit sd5f54s
[UPDATE] Adiciona os arquivos CSS e images

Adiciona os arquivos que estavam faltando no diretório assets/

Idiomas

Referências