Git Workflow¶
Padrões de versionamento e colaboração do GovHub BR.
Assinatura de commits (GPG)¶
A assinatura GPG aumenta a rastreabilidade da autoria e é recomendada. Ela só é obrigatória quando a ruleset do repositório exigir commits assinados.
1. Gerar chave GPG¶
2. Configurar Git¶
# Listar chaves
gpg --list-secret-keys --keyid-format=long
# Configurar (substitua SUA_KEY_ID)
git config --global user.signingkey SUA_KEY_ID
git config --global commit.gpgsign true
3. Adicionar chave ao GitHub¶
Cole a saída em GitHub → Settings → SSH and GPG keys → New GPG key.
Branches¶
Prefixos obrigatórios:
| Prefixo | Uso |
|---|---|
feat/ |
Nova funcionalidade |
fix/ |
Correção de bug |
refactor/ |
Refatoração sem mudança de comportamento |
docs/ |
Apenas documentação |
Exemplo: feat/dag-ingestao-siorg
Commits¶
Padrão: Conventional Commits
<tipo>(<escopo>): <descrição>
feat(airflow): adiciona DAG de ingestão do Siorg
fix(dbt): corrige dedup em silver.transferencias
docs(onboarding): atualiza setup local
refactor(minio): simplifica upload operator
Pull Requests¶
- Criar branch a partir de
main - Fazer alterações e garantir que testes passam (
make lint && make test) - Rebase com main antes de abrir PR:
- Abrir PR com descrição do "porquê" e lista de mudanças
- Aguardar review dos Code Owners aplicáveis
As exigências de aprovação e merge são definidas pela ruleset de cada repositório. Consulte também o Protocolo de Revisão de PRs.
Pre-commit Hooks¶
Configurados automaticamente via make setup:
- Linting (ruff/black)
- Formatação
- Verificação de secrets acidentais
- Trailing whitespace