|
|
| [Home](home) | [Escopo e Cronograma](escopo-e-cronograma) | [Processo](processo) | [Design/Mockups](design_mockups) | [**Configuração**](configuracao) | [Arquitetura](arquitetura) | [Código](codigo) | [BD](banco_dados) | [Qualidade](qualidade) | [Utilização](utilizacao) |
|
|
|
| :----------: | :---------------------------: | :------------------: | :--------------: | :------------------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
|
|
|
|
|
|
|
|
|
# Estratégia de Branching e Padrão de Commits
|
|
|
|
|
|
## 1. Estratégia de Branching: Git Flow
|
|
|
|
|
|
### Visão Geral
|
|
|
O Git Flow é uma estratégia de branching que organiza o desenvolvimento e o lançamento de software. Ele divide o trabalho em diferentes branches para garantir a estabilidade da branch `main` enquanto possibilita o desenvolvimento contínuo na branch `develop`.
|
|
|
|
|
|
### Branches Principais
|
|
|
|
|
|
- **`main`**: Branch de produção, sempre estável. Contém a versão pronta para lançamento.
|
|
|
- **`develop`**: Branch de desenvolvimento, onde novas funcionalidades são integradas.
|
|
|
- **`feature/*`**: Branches para desenvolvimento de funcionalidades específicas. Criadas a partir da `develop`.
|
|
|
|
|
|
### Fluxo de Trabalho
|
|
|
|
|
|
1. **Iniciando uma Nova Feature**
|
|
|
- Crie uma branch `feature/*` a partir de `develop`:
|
|
|
```bash
|
|
|
git checkout develop
|
|
|
git checkout -b feature/nome-da-feature
|
|
|
```
|
|
|
|
|
|
2. **Concluindo uma Feature**
|
|
|
- Abrir um Merge Request no Gitlab e assinar AGES 3/4 como revisores.
|
|
|
|
|
|
4. **Correções Urgentes (Hotfixes)**
|
|
|
- Crie uma branch de hotfix a partir da `main`, corrija o problema e mescle tanto na `main` quanto na `develop`.
|
|
|
|
|
|
## 2. Padrão de Commits: Conventional Commits
|
|
|
|
|
|
### Estrutura do Commit
|
|
|
|
|
|
- **`<tipo>(<escopo>): <descrição>`**
|
|
|
- **Tipos Comuns**:
|
|
|
- `feat`: Adição de nova funcionalidade.
|
|
|
- `fix`: Correção de bug.
|
|
|
- `docs`: Alterações na documentação.
|
|
|
- `style`: Alterações de formatação e estilo.
|
|
|
- `refactor`: Refatoração de código.
|
|
|
- `test`: Adição ou modificação de testes.
|
|
|
- `chore`: Atualizações diversas, como mudanças de configuração.
|
|
|
|
|
|
### Exemplos de Commits
|
|
|
|
|
|
- **Nova funcionalidade**: `feat(auth): adiciona autenticação por token JWT`
|
|
|
- **Correção de bug**: `fix(api): corrige erro de CORS na API de produtos`
|
|
|
- **Documentação**: `docs(README): adiciona instruções para configurar o ambiente`
|
|
|
- **Refatoração**: `refactor(core): melhora a performance do algoritmo de busca`
|
|
|
- **Lançamento**: `chore(release): versão 1.2.0` |