Políticas do Repositório
Histórico de versão
Data | Versão | Modificação | Autor |
---|---|---|---|
02/03/2021 | 1.0 | Criação da primeira versão do documento | Victor Lima e Vitor Lamego |
1. Introdução
Documento destinado a organizar e padronizar as políticas de contribuição para o projeto.
Aqui se encontram:
- Política de Branch
- Política de Commits
2. Políticas de Branch
As branches do projeto serão dividas de acordo com a sua finalidade principal para manter uma organização no padrão do projeto. A seguir estão as regras de classificação das branches:
2.1 Branch Main
A branch main representa uma versão estável do produto, contendo código já testado e versionado, pronto para ser entregue ao usuário final ou cliente. Essa branch parte das branches feature através de pull requests aprovados.
Regras:
- Existe apenas uma branch main.
- Não são permitidos commits feitos diretamente na main.
2.2 Branches Feature
As branches feature representam as funcionalidades do sistema a serem desenvolvidas, elas devem ter a branch main como sua origem e fim.
Regras:
- Essa branch sempre é criada a partir da branch main.
- Antes da abertura de pull request a branch deve ser mesclada à branch main.
Regras de nomenclatura:
feature/issueID-titulo-da-issue
2.3 Branches Release
A branch release representa o conjunto de funcionalidades provenientes de um ponto específico da branch main. Essa branch contém funcionalidades prontas que, provavelmente, estarão presentes na próxima versão estável do produto. Apenas issues de bug fixes são permitidos nessa branch.
Regras:
- Essa branch sempre é criada a partir da branch main.
- Essa branch sempre é mesclada à branch main.
- Essa branch aceita apenas mesclagens de branches do tipo bugfix.
Regras de nomenclatura:
release/vNúmero-da-versão
2.4 Branches Bugfix
As branches do tipo bugfix são utilizadas para implementar soluções para bugs, encontrados através de testes realizados em releases específicas, na branch release. Isso significa que a branch bugfix deve ter a branch release como sua origem e fim.
Regras:
- Essa branch sempre é criada a partir da branch release.
- Essa branch sempre é mesclada na branch release.
Regras de nomenclatura:
bugfix/issueID-titulo-da-issue
2.5 Branches Hotfix
A branch hotfix é utilizada para implementar soluções para problemas urgentes encontrados no ambiente de produção. Isso significa que essa branch deve ter a branch main como sua origem e fim.
Regras:
- Essa branch sempre é criada a partir da branch main.
- Essa branch sempre é mesclada à branch main.
Regras de nomenclatura:
hotfix/issueID-titulo-da-issue
2.6 Branches Docs
As branches docs representam a geração ou alteração dos documentos do projeto, elas devem ter a branch main como sua origem e fim.
Regras:
- Essa branch sempre é criada a partir da branch main.
- Antes da abertura de pull request a branch deve ser mesclada à branch main.
Regras de nomenclatura:
docs/issueID-documento
3. Políticas de Commits
Commits devem ser escritos de forma clara e breve, em português, descrevendo as alterações feitas. Regras para escrita das mensagens nos commits:
#issueID Mensagem breve descrevendo alterações
Exemplo: #23 Definindo arquitetura do banco de dados
O caractere "#", por padrão, representa uma linha de comentário no arquivo de mensagem do commit. Para evitar problemas, é necessário alterar o caractere com o seguinte comando:
git config --local core.commentChar auto
Caso deseje utilizar um outro caractere específico para definir uma linha de comentário, basta substituir a palavra "auto" pelo caractere desejado.
A mensagem principal do commit deve ser escrita no gerundio. Aqui estão alguns exemplos:
Maus exemplos:
Criada variável de acompanhamento
Documentos de visão editados
Bons exemplos:
Criando variável de acompanhamento
Editando os documentos de visão
Co-Authored-by: nomeDaPessoa <emailDoGitHub>
Exemplo:
comando: git commit
"#20 Criando novo documento
Co-authored-by: Vitor Lamego <email@gmail.com>"
Referências
Policies. Disponível em: < https://fga-eps-mds.github.io/2019.2-Acacia/#/policies > Acesso em: 2 de março de 2021
Trunk Based Development. Disponível em: < https://trunkbaseddevelopment.com/ > Acesso em: 2 de março de 2021