Para contribuir com o projeto é muito fácil e cada pouquinho conta! Basta seguir os seguintes passos:
- Fork do repositório (apenas para usuários externos)
- Criar issues
- Criar branchs
- Seguir a política de commits
- Submeter Pull Request
Para criação de issue o template Issue deve ser seguido.
Gitflow é o fluxo planejado para criação de branches. Afim de organizar e poder gerenciar melhor o projeto.
Novas funcionalidades sempre saem da branch dev, nunca da master.
git checkout origin dev
git pull origin dev --rebase
git checkout -b feature/gmail-integration
git push origin feature/gmail-integration
... coding ...
git checkout origin dev
git pull origin dev --rebase
git merge feature/gmail-integration
git push origin feature/gmail-integration
... Pull request to dev ...
HotFix são atualizações esporádicas pequenas mas importantantes, de funcionalidades que já estão na branch de desenvolvimento ou produção.
git checkout origin dev
git pull origin dev --rebase
git checkout -b hotfix/gmail-integration
... hot fix ...
git checkout origin dev
git pull origin dev --rebase
git merge origin hotfix/gmail-integration
git push origin hotfix/gmail-integration
... Pull Request to dev ...
Master é a branch de produção. Nela se encontra a versão que estará disponível para utilização no mercado.
Dev é a branch de homologação. Nela se encontra a versão mais atualizada e estável do projeto.
As branches seguirão o nome de tipo/artefato. Para criação de novas features e elaboração de documentos.
- feature/my-feature
- doc/documento-visao
git checkout -b doc/EAP
git checkout -b feature/gmail-integration
Os commits serão feitos em inglês, tanto título quanto descrição
git commit -m "#1 Finishing login"
A issue pode ser referenciada no commit basta adicionar #<numero da issue>
.
#1 Adding autolayout to signup window
Co-authored-by: Nome do individuo <[email protected]>
Co-authored-by: Nome de outro individuo <[email protected]>
*Obs.: Atentar-se ao duplo espaçamento entre a descrição do commit e a definição dos autores
Fix #1 Finishing login
Fix #1 Fixing bug - missing labels
#1 Creating basic layout
#1 Creating unit tests for login
Pull requests serão realizados para controle de estabilidade das branches:
- master
- dev
Deve ser seguido o template Pull Request.
Ao menos um membro deve realizar a revisão das mudanças realizadas no pull request. O revisor deve clonar a branch do pull request e verificar se o pull request é coerente. Em caso de aceitação, deve-se fazer a aprovação e realizar o merge. Caso o pull request esteja faltando algum requisito, deve-se propor as mudanças necessárias. Caso o pull request não faça sentido ou já tenha sido resolvido, ou seja duplicado, deve ser fechado e feito um comentário coerente.