Git e Versionamento
Visão geral das práticas de controle de versão adotadas pela equipe.
Nosso Fluxo
Trabalhamos com Git + GitLab seguindo padrões profissionais de mercado:
Develop → Feature Branch → Commits → Push → Merge Request → CI/CD → MergePilares do Nosso Processo
1. Conventional Commits
Mensagens de commit padronizadas e legíveis.
feat(auth): adiciona login com Google
fix(api): corrige validação de CPF
docs: atualiza README→ Conventional Commits (visão rápida)
→ Guia Completo de Commits (mais detalhes avançados)
2. Branches
Estratégia de branches para organizar o desenvolvimento.
main → produção
develop → desenvolvimento ativo
feature/* → novas funcionalidades
release/* → qualidade
fix/* → correções3. Merge Requests
Todo código vai para produção via Merge Request.
✅ 1 aprovação obrigatória
✅ CI/CD precisa passar
✅ Sem merge direto na main (nem Maintainers)
INFO
4. Code Review
Revisão de código para manter qualidade.
Por que Esses Padrões?
Para o time:
- Comunicação clara no histórico
- Facilita onboarding de novos devs
- Reduz erros em produção
- Trabalho em paralelo sem conflitos
Para o projeto:
- Histórico rastreável
- Rollback seguro
- Changelog automático (futuro)
- Integração contínua confiável
Ferramentas
| Ferramenta | Uso |
|---|---|
| Git | Controle de versão local |
| GitLab | Repositório remoto + CI/CD |
| Commitlint | Validação de commits (em implementação) |
Fluxo do Dia a Dia
# 1. Criar branch
git checkout develop
git pull
git checkout -b feature/nova-funcionalidade
# 2. Desenvolver com commits padronizados
git add .
git commit -m "feat(crud): adiciona CRUD de equipamentos"
# 3. Push e abrir MR
git push origin feature/nova-funcionalidade
# Abrir MR no GitLab
# 4. Aguardar aprovação e mergePróximos Passos
Se você é novo no time:
- Leia Conventional Commits (5 min)
- Entenda o Estratégia de Branches (10 min)
- Saiba como criar Merge Requests (10 min)
- Pratique no seu primeiro commit!
Se você já conhece Git:
- Use Guia Completo de Commits como referência
- Revise o processo de Merge Requests para alinhar com o time
Dúvidas Comuns
Posso fazer commit direto na develop?
Não. Sempre trabalhe em branches (feature/, fix/, etc).
Posso fazer merge local?
Não. Todo merge é via Merge Request no GitLab, mesmo para Maintainers.
E se meu commit não seguir o padrão?
CI/CD vai bloquear. Use git commit --amend para corrigir a mensagem antes do push.
Preciso de aprovação para todo MR?
Sim. 1 aprovação obrigatória de Maintainer ou Lead Técnico.
Quantos commits posso fazer na minha branch?
Quantos quiser! O importante é cada commit seguir o padrão Conventional Commits.
Posso fazer rebase antes do merge?
Sim! Inclusive é incentivado para manter histórico limpo. Mas sempre force push com cuidado.
Referências: