GitHub ha pasado las pull requests apiladas (stacked pull requests) a vista previa pública, permitiendo a los desarrolladores dividir un cambio grande en una cadena de PR dependientes que pueden revisarse y fusionarse de forma independiente.

Por qué es importante esta función

Una única PR monolítica a menudo se convierte en una revisión de un mes, obligando a los revisores a navegar por código no relacionado. Cuando la rama base se mueve, esos cambios masivos son propensos a conflictos de merge que retrasan los lanzamientos. Las PR apiladas abordan ambos problemas al convertir un gran diff en una serie de diffs más pequeños y enfocados, donde cada uno se construye sobre el anterior.

Cómo funciona

Crea la primera PR contra la rama principal, luego basa la siguiente PR en la primera, la tercera en la segunda, y así sucesivamente. GitHub rastrea las relaciones automáticamente: si modificas la PR base, las PR dependientes se actualizan para reflejar el nuevo estado. Los revisores pueden aprobar toda la pila con un solo clic o dar el visto bueno a capas individuales.

  • Las revisiones se mantienen en un alcance estrecho, lo que agiliza los comentarios.
  • Los conflictos disminuyen porque cada PR solo toca el código introducido en su propia capa.
  • La interfaz de usuario muestra la jerarquía de la pila, y la CLI de GitHub ofrece un comando de una sola línea para generar una serie de PR apiladas.
gh pr create --title Feature A --base main
gh pr create --title Feature B --base feature-a
gh pr create --title Feature C --base feature-b

El ejemplo de la línea de comandos crea tres PR vinculadas, cada una dependiente de la anterior. El mismo flujo de trabajo está disponible a través de la interfaz web, donde puedes reordenar o descartar una PR de la pila sin romper las demás.

Quiénes se beneficiarán

Los grandes equipos de desarrollo de funcionalidades y los mantenedores de código abierto pueden entregar trabajo incremental sin exponer a los revisores a cambios irrelevantes. Los gestores de lanzamientos obtienen una imagen más clara de lo que está listo para enviarse, ya que cada capa de la pila puede fusionarse según su propio cronograma.

Consideraciones a tener en cuenta

La función aún está en fase de vista previa, por lo que podría cambiar antes de un lanzamiento completo. Los equipos deberán adoptar nuevos hábitos en torno a la creación de ramas y podrían encontrarse con casos límite al hacer rebase de una pila que ya se ha fusionado parcialmente. La documentación aún está creciendo, por lo que los primeros usuarios podrían dedicar tiempo extra a aprender los indicadores de la interfaz.

Qué esperar a continuación

Es probable que GitHub implemente una integración más estrecha con code-owners y herramientas de automatización, y podría mostrar métricas sobre la reducción de conflictos. Mantente atento a la página de anuncio de la vista previa para conocer las actualizaciones sobre la fecha de GA (disponibilidad general).

Resumen: Las pull requests apiladas ofrecen a los desarrolladores una forma práctica de domar cambios masivos, convirtiendo una única PR con muchos conflictos en una secuencia manejable y fácil de revisar. Si tu flujo de trabajo lucha contra revisiones largas y dolores de cabeza con los merges, la vista previa vale la pena probarla.