Principal Convenção: todos as mensagens referente a qualquer ação dentro do versionamento deverá ser feita em Inglês, seguindo as próximas convenções.
Razão: Inglês é a lingua internacional. Um dia você pode acabar desenvolvendo junto com a algum developer de outro país, escrever em uma linguagem universal ajudaria muito nessa situação.
- Mensagens de commit devem ser escritos sempre no imperativa, nunca usar uma mensagem escrita no passado ou no presente.
- Devem ser escrito apenas com lowercase.
# Ruim
Adicionei a funcionalidade X para produtos
# Bom
add feature X to products
- Criar um branch para cada épico
- O nome do branch deverá ser
feat-{{nome-do-épico}}
# Branch criado para um épico de Produtos
git checkout -b feat-products
- Fazer pull request pro branch
master
à cada estória - Um pull request só deverá ser aceito no master caso o mesmo esteja com nota 4.0 no Code Climate
- Todo o pull request deve ter uma breve análise por parte da equipe
# Commitando estórias do épico
git commit -m "add some pieces of code"
git commit -m "refature the pieces"
git commit -m "bug the feature X"
- Nunca executar
pull origin master
diretamente antes de um pull request.
- Tagear a versão a cada estória realizada
- Sempre colocar a versão como 'Release - v0.0.1' ao invés de 'v0.0.1'.
- Mensagens explicando o tageamento deve começar com letra maiúscula
# Versionando uma história
git tag -a "Release - v0.1.5" -m "Add export to pdf in products"
Razão: Fica mais fácil para trackear releases de versões anteriores no log do git. Por exemplo, podemos rodar um comando
git log --pretty=format:"%H %s" | grep 'Release'
que lista apenas commits desta versão