|
|
|
# Processos
|
|
|
|
|
|
|
|
O projeto segue um fluxo de trabalho inspirado no **Gitflow**, utilizando branchs específicas para features, correções e tarefas de manutenção.
|
|
|
|
As branches principais são:
|
|
|
|
- **main**: versão estável e pronta para produção.
|
|
|
|
- **develop**: branch de desenvolvimento contínuo.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Branch
|
|
|
|
|
|
|
|
Cada branch de desenvolvimento será criada a partir da branch **develop**.
|
|
|
|
|
|
|
|
### Nomes de branch
|
|
|
|
|
|
|
|
O nome da branch será em português e deve seguir o padrão:
|
|
|
|
|
|
|
|
```
|
|
|
|
tipo/numeroticket-descricao
|
|
|
|
```
|
|
|
|
|
|
|
|
**Tipos aceitos no pipeline**:
|
|
|
|
| Tipo | Uso | Exemplo |
|
|
|
|
|----------|-----|---------|
|
|
|
|
| `feat` | Para novas funcionalidades | `feat/3422-componente-de-botao` |
|
|
|
|
| `bugfix` | Para correção de erros | `bugfix/3419-corrige-layout-header` |
|
|
|
|
| `chore` | Para tarefas de manutenção, ajustes ou melhorias não funcionais | `chore/3425-atualiza-dependencias` |
|
|
|
|
|
|
|
|
> Use **kebab-case** (letras minúsculas e hifens) na descrição.
|
|
|
|
---
|
|
|
|
|
|
|
|
## Atualizando antes de criar branch
|
|
|
|
> Crie uma branch a partir de develop
|
|
|
|
|
|
|
|
Para garantir que o processo de desenvolvimento esteja sempre atualizado, antes de criar uma nova branch, atualize a develop com:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git checkout develop
|
|
|
|
```
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git pull
|
|
|
|
```
|
|
|
|
---
|
|
|
|
|
|
|
|
## Criando branch
|
|
|
|
|
|
|
|
Para criar uma nova branch:
|
|
|
|
```bash
|
|
|
|
git checkout -b tipo/numeroticket-descricao
|
|
|
|
```
|
|
|
|
|
|
|
|
Exemplo:
|
|
|
|
```bash
|
|
|
|
git checkout -b feat/3422-componente-de-botao
|
|
|
|
```
|
|
|
|
|
|
|
|
Assim que a branch for criada, envie para o repositório remoto:
|
|
|
|
```bash
|
|
|
|
git push --set-upstream origin tipo/numeroticket-descricao
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Commits
|
|
|
|
|
|
|
|
Antes de fazer um commit, adicione os arquivos alterados.
|
|
|
|
|
|
|
|
Adicionar todos os arquivos:
|
|
|
|
```bash
|
|
|
|
git add .
|
|
|
|
```
|
|
|
|
|
|
|
|
Adicionar apenas um arquivo específico:
|
|
|
|
```bash
|
|
|
|
git add nome-do-arquivo
|
|
|
|
```
|
|
|
|
|
|
|
|
Realizar o commit seguindo o padrão:
|
|
|
|
```bash
|
|
|
|
git commit -m "tipo: descrição clara"
|
|
|
|
```
|
|
|
|
|
|
|
|
### Tipos aceitos:
|
|
|
|
| Tipo | Quando usar | Exemplo |
|
|
|
|
|------------|-------------|---------|
|
|
|
|
| `feat` | Nova funcionalidade | `feat: adiciona campo de busca` |
|
|
|
|
| `fix` | Correção de bug | `fix: corrige erro ao salvar formulário` |
|
|
|
|
| `chore` | Manutenção ou ajustes não funcionais | `chore: atualiza dependências` |
|
|
|
|
| `docs` | Alterações de documentação | `docs: adiciona instruções no README` |
|
|
|
|
| `style` | Ajustes visuais ou de formatação | `style: ajusta indentação` |
|
|
|
|
| `refactor` | Refatoração sem mudar comportamento | `refactor: otimiza função de cálculo` |
|
|
|
|
| `test` | Criação ou alteração de testes | `test: adiciona teste unitário` |
|
|
|
|
|
|
|
|
Após o commit, envie as alterações:
|
|
|
|
```bash
|
|
|
|
git push
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## Merge Requests (MR)
|
|
|
|
|
|
|
|
Quando finalizar a tarefa, atualize sua branch com a develop:
|
|
|
|
```bash
|
|
|
|
git pull origin develop
|
|
|
|
```
|
|
|
|
|
|
|
|
Se houver conflitos, resolva-os e faça o commit de merge:
|
|
|
|
```bash
|
|
|
|
Merge branch 'develop' into 'tipo/numeroticket-descricao'
|
|
|
|
```
|
|
|
|
|
|
|
|
Depois, abra um **Merge Request**:
|
|
|
|
- **Source Branch**: sua branch.
|
|
|
|
- **Target Branch**: `develop`.
|
|
|
|
- **Título**: `Tipo/Ticket Tarefa`
|
|
|
|
- **Exemplo**: ```Feat/3422 Criação do componente de botão```
|
|
|
|
- **Descrição**: Descrever o que foi feito detalhadamente e adicionar screenshots (quando aplicável), bem como qualquer instrução para ver as mudanças.
|
|
|
|
---
|
|
|
|
|
|
|
|
## Comandos úteis
|
|
|
|
|
|
|
|
Clonar o repositório:
|
|
|
|
```bash
|
|
|
|
git clone <url-do-repo>
|
|
|
|
```
|
|
|
|
|
|
|
|
Ver branch atual:
|
|
|
|
```bash
|
|
|
|
git branch
|
|
|
|
```
|
|
|
|
|
|
|
|
Trocar de branch:
|
|
|
|
```bash
|
|
|
|
git checkout nome-da-branch
|
|
|
|
```
|
|
|
|
|
|
|
|
Atualizar branch local com develop:
|
|
|
|
```bash
|
|
|
|
git pull origin develop
|
|
|
|
```
|
|
|
|
|
|
|
|
Guardar alterações temporariamente:
|
|
|
|
```bash
|
|
|
|
git stash
|
|
|
|
```
|
|
|
|
|
|
|
|
Recuperar alterações guardadas:
|
|
|
|
```bash
|
|
|
|
git stash pop
|
|
|
|
```
|
|
|
|
|
|
|
|
Deletar branch local:
|
|
|
|
```bash
|
|
|
|
git branch -d nome-da-branch
|
|
|
|
```
|
|
|
|
|
|
|
|
Deletar branch remota:
|
|
|
|
```bash
|
|
|
|
git push origin --delete nome-da-branch
|
|
|
|
```
|
|
|
|
---
|
|
|
|
|
|
|
|
## Resumo das boas práticas
|
|
|
|
|
|
|
|
- Nome de branches e commits em português.
|
|
|
|
- Seguir o formato definido para branchs e commits.
|
|
|
|
- Criar MRs sempre para `develop`. |