AULA 06 MÓDULO 0 processo de software ⏱ 45 min

Git como Processo de Software

Git é a memória do time. Aprenda commits semânticos, estratégias de branching e como code review é parte central do processo de desenvolvimento.

commits semânticosgit flowtrunk-basedpull requestcode review

Por que versionar código

Git não é só "salvar arquivos na nuvem". É a história completa do projeto — quem mudou o quê, quando e por quê. Em times, é o que evita que duas pessoas sobrescrevam o trabalho uma da outra.

📚
analogia — Google Docs
Imagine um Doc compartilhado sem histórico de versões. Alguém apaga um parágrafo: sumiu para sempre. Git é o histórico de versões do código, com superpoderes.

Commits semânticos

Um commit semântico tem formato padronizado: tipo(escopo): descrição. Isso torna o histórico legível e permite gerar changelogs automaticamente.

feat
Nova funcionalidade
fix
Correção de bug
refactor
Refatoração sem mudança de comportamento
docs
Documentação
chore
Tarefas de manutenção (deps, config)
test
Adicionar ou corrigir testes

Git Flow vs Trunk-Based

Duas estratégias dominantes de branching. Git Flow usa branches de longa duração por feature; Trunk-Based Development faz commits direto na main com feature flags.

Git Flow
• Branches: main, develop, feature/*, release/*, hotfix/*
• Bom para releases versionadas
• Complexidade maior
• Merges frequentemente conflituosos
Trunk-Based
• Todos commitam na main
• Feature flags para código incompleto
• Favorece CI/CD
• Padrão em times de alta performance
javascript
// Commits semânticos — exemplos reais
git add .
git commit -m "feat(auth): adicionar login com Google OAuth"
git commit -m "fix(api): corrigir validação de email duplicado"
git commit -m "refactor(user): extrair UserService do controller"
git commit -m "docs(readme): atualizar instruções de instalação"

// Pull Request — template básico
## O que muda?
Adiciona autenticação OAuth com Google

## Como testar?
1. Configurar .env com GOOGLE_CLIENT_ID
2. Acessar /auth/google
3. Verificar redirecionamento e token

## Checklist
- [x] Testes unitários passando
- [x] Sem variáveis de ambiente hardcoded
- [x] SOLID respeitado
quiz · aula 06
Teste seus conhecimentos
0/3 respondidas
QUESTÃO 01
O formato de commit semântico correto é...
QUESTÃO 02
O que é um Pull Request?
QUESTÃO 03
Trunk-Based Development é adequado quando...
0/3