Política de Contribuição
Versionamento
Versão | Data | Modificação | Autor |
---|---|---|---|
1.0 | 29/01/2022 | Criação do documento | João Pedro Moura |
1.1 | 20/02/2022 | Adição da política de pull request | João Pedro Moura |
Políticas de Branch para o repositório Doc
As branches serão nomeadas seguindo um padrão para a melhor organização do projeto. Por se tratar de um projeto baseado em documentos, terá apenas um tipo de nomenclatura de branch. Todas as branchs devem ser criadas a partir da master e devem estar nomeadas da seguinte maneira:
X-Nome_Documento
Exemplo: 4-Política_de_Contribuição
Sendo X o número da issue atribuída seguido pelo nome do documento, como destacado anteriormente. Em ocasiões em que não se está trabalhando com nenhum documento em específico, então deve-se colocar o nome da issue correspondente.
Políticas de Branch para os repositórios Dev
Ao contrário do repositório Doc, as branchs dos repositórios Dev (Frontend e Backend) seguem o padrão GitFlow e devem ser derivadas da develop. A seguir existe uma explicação mais detalhada para cada branch:
Branch Master
A branch master deverá conter todo código que se encontra em produção, ou seja, essa branch será a responsável por receber os commits derivados de cada release através de um merge.
- Só existe uma branch Master.
- Commits não são permitidos diretamente nessa branch.
- Os commits devem ocorrer por pull requests das branchs Develop a cada release e Bugfix
Branch Develop
Similar a branch master, ela armazena o código principal do projeto, entretando para o ambiente de homologação. Ou seja, todo o código que se encontra nessa branch é o mais atualizado, podendo conter bugs e funcionalidades ainda em desenvolvimento.
- Só existe uma branch Develop.
- Commits não são permitidos diretamente nessa branch.
- Os commits devem ocorrer por pull requests das branchs individuais Feauture e Hotfix
Branchs Feauture
Branchs individuais em que cada desenvolvedor deverá estar trabalhando. Focada na adição de novas funcionalidades que estaram presentes na branch develop.
- Existem diversas branchs Feauture.
- Commits diretos devem ser feitos nessas branchs.
- Derivadas da Develop.
- Devem sempre ser devolvidas para a Develop.
- Formato:
feature/numeroIssue-nome_feature
Branchs Hotfix
Branchs individuais para que os desenvolveldores resolvam bugs e erros urgentes presentes na branch Develop
- Existem diversas branchs Hotfix.
- Commits diretos devem ser feitos nessas branchs.
- Derivadas da Develop.
- Não necessitam de reviews
- Formato:
hotfix/numeroIssue-nome_feature
Branchs Bugfix
Branchs individuais para que os desenvolveldores resolvam bugs e erros urgentes presentes na branch Master
- Raramente devem existir branchs Bugfix.
- Commits diretos devem ser feitos nessas branchs.
- Derivadas da Master.
- Formato:
bugfix/numeroIssue-nome_bug
Políticas de Commits
Os commits devem ser feitos de maneira clara e objetiva respeitando os padrões comentados a seguir:
- Devem estar escritos em português.
- Os verbos devem estar no gerúndio.
- Devem apresentar o número base da issue.
Portanto a formatação do commit será: #4 Corrigindo documento de planejamento
Vale a pena lembrar que é possível utilizar o seguinte Hook já configurado para esse repositório, que acrescentará automaticamente o número da Branch em seu commit:
#!/bin/sh
BRANCH=$(git branch | grep "*" | sed 's/* \([0-9]*\)-.*/#\1/')
TEXT=$(cat "$1" | sed '/^#.*/d')
if [ -z "$BRANCH" ]
then
echo "Branch não esta no formato NUMERO-TITULO_ISSUE."
fi
if [ -n "$TEXT" ]
then
echo "$BRANCH" "$TEXT" > $1
else
echo "Commit sem mensagem."
exit 1
fi
E por fim, nas ocasiões em que o commit for realizado por duas ou mais pessoas, deve ser acrescentado à mensagem do commit o seguinte texto:
#4 Corrigindo documento de planejamento
Co-authored-by: Fábio Silva <fabiosilva@gmail.com>
Política de Pull Requests
Para a realização de pull requests, a equipe definiu a utilização da poĺítica de squash e merge, metodologia essa que junta todos os commits em um único após o merge. Dessa forma, o histórico fica mais limpo e organizado, sendo ainda possível visualizar os commits mais atômicos através dos comentários disponíveis nos commits de merge.