pular para o conteúdo
voltar ao mapa
técnica
etapa: foundations
2 min de leitura

Fluxos de Git e code review

Toda mudança entra em produção pelo controle de versão. Como você cria branches, revisa e integra define a velocidade com que você entrega e a segurança com que consegue desfazer.

gitGitHub / GitLabCODEOWNERSpre-commitConventional Commitsgit worktree

Modelos de branching

  • : branches de vida curta (horas ou um dia ou dois) integrados com frequência à main, com feature flags escondendo o trabalho inacabado. Ideal para feedback rápido e .
  • Feature branches com pull requests: o meio-termo comum. Mantenha os branches pequenos e curtos.
  • Branches de release de longa duração (estilo Gitflow): úteis quando é preciso manter várias versões liberadas ao mesmo tempo; mais lentos e com mais trabalho de merge.
  • Seja qual for o modelo, a main deve estar sempre pronta para release, e toda mudança chega a ela por um pull request revisado.

O que é um bom pull request

  • Pequeno: um revisor o entende em minutos. Mudanças grandes escondem erros.
  • Um único propósito, com uma descrição do porquê, e não só do quê.
  • CI verde antes de a revisão começar, para que as pessoas gastem tempo com design e risco, não com erros de digitação.
  • Revisado por quem é dono da área: o automatiza o pedido.
  • Integrado com um histórico claro (squash ou rebase merge), de modo que um revert seja um único comando.

Torne as regras automáticas

Regras que vivem só em uma wiki são esquecidas. Codifique o ownership no repositório e aplique a proteção de branch na plataforma.

.github/CODEOWNERStext
# vale o último padrão que corresponder
*                    @example/engineering
/infra/              @example/platform
/.github/workflows/  @example/platform @example/security
/src/auth/           @example/security
proteger a main com o GitHub CLI (requer direitos de admin)bash
gh api -X PUT repos/example/app/branches/main/protection --input - <<'EOF'
{
  "required_status_checks": { "strict": true, "contexts": ["verify"] },
  "enforce_admins": true,
  "required_pull_request_reviews": { "required_approving_review_count": 1, "require_code_owner_reviews": true },
  "restrictions": null
}
EOF

Hábitos que compensam

  • Faça commits cedo e com frequência no seu branch; limpe antes de integrar.
  • Nunca reescreva o histórico de um branch compartilhado.
  • Assine commits ou tags de releases quando a proveniência importar.
  • Mantenha segredos fora do histórico: um segredo commitado uma vez precisa ser rotacionado, não apenas apagado.
  • Reverta primeiro, investigue depois, quando a main quebrar.
Trunk-based developmentTrabalhar em branches de vida curta, integrados com frequência ao branch principal, escondendo o trabalho inacabado atrás de feature flags.ver no glossário →CDentrega contínua · implantação contínuaA entrega contínua mantém toda mudança pronta para ser implantada a qualquer momento; a implantação contínua vai além e libera automaticamente em produção cada mudança aprovada.ver no glossário →CODEOWNERSUm arquivo do repositório que mapeia caminhos para as pessoas ou equipes que devem revisar as mudanças ali.ver no glossário →

conexões no mapa

atualizado em 14/10/2026 · fontes para aprofundar · reportar erro

Desbloqueia

teste o que entendeu

Carregando perguntas…