saltar al contenido
volver al mapa
técnica
etapa: foundations
2 min de lectura

Flujos de Git y code review

Todo cambio entra a producción por el control de versiones. Cómo creas ramas, revisas e integras define qué tan rápido puedes entregar y con qué seguridad puedes deshacer.

gitGitHub / GitLabCODEOWNERSpre-commitConventional Commitsgit worktree

Modelos de branching

  • : ramas de corta vida (horas o un día o dos) integradas con frecuencia en main, con feature flags que ocultan el trabajo sin terminar. Ideal para feedback rápido y .
  • Feature branches con pull requests: el punto medio habitual. Mantén las ramas pequeñas y cortas.
  • Ramas de release de larga vida (estilo Gitflow): útiles cuando hay que mantener varias versiones publicadas a la vez; más lentas y con más trabajo de merge.
  • Sea cual sea el modelo, main debe estar siempre lista para release, y todo cambio llega a ella mediante un pull request revisado.

Qué es un buen pull request

  • Pequeño: un revisor lo entiende en minutos. Los cambios grandes esconden errores.
  • Un solo propósito, con una descripción del porqué, no solo del qué.
  • CI en verde antes de que empiece la revisión, para que las personas dediquen tiempo al diseño y al riesgo, no a erratas.
  • Revisado por quien es dueño del área: automatiza la solicitud.
  • Integrado con un historial claro (squash o rebase merge) para que un revert sea un solo comando.

Haz que las reglas sean automáticas

Las reglas que viven solo en una wiki se olvidan. Codifica el ownership en el repositorio y aplica la protección de ramas en la plataforma.

.github/CODEOWNERStext
# gana el último patrón que coincida
*                    @example/engineering
/infra/              @example/platform
/.github/workflows/  @example/platform @example/security
/src/auth/           @example/security
proteger main con el GitHub CLI (requiere derechos 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 rinden

  • Haz commits temprano y a menudo en tu rama; limpia antes de integrar.
  • Nunca reescribas el historial de una rama compartida.
  • Firma commits o tags de releases cuando la procedencia importe.
  • Mantén los secretos fuera del historial: un secreto commiteado una vez debe rotarse, no solo borrarse.
  • Revierte primero, investiga después, cuando main se rompa.
Trunk-based developmentTrabajar en ramas de corta vida que se integran con frecuencia en la rama principal, ocultando el trabajo sin terminar detrás de feature flags.ver en el glosario →CDentrega continua · despliegue continuoLa entrega continua mantiene cada cambio listo para desplegarse en cualquier momento; el despliegue continuo va más allá y libera automáticamente a producción cada cambio que pasa las pruebas.ver en el glosario →CODEOWNERSUn archivo del repositorio que asigna rutas a las personas o equipos que deben revisar los cambios allí.ver en el glosario →

conexiones en el mapa

actualizado el 14/10/2026 · fuentes para profundizar · reportar un error

Desbloquea

pon a prueba lo que entendiste

Cargando preguntas…