2 puntos por a1eng0 2025-08-23 | 2 comentarios | Compartir por WhatsApp
  • Extensión de GitHub CLI que hace automáticamente rebase de stacked PRs en GitHub
  • Hay herramientas geniales como Graphite o stacked-pr, pero la barrera de entrada de estas es demasiado alta
    • Por ejemplo, que los stacked PRs solo se puedan crear usando esa herramienta en lugar de git
    • O que haya demasiadas opciones en los archivos de configuración local
  • Se necesitaba una herramienta de rebase muy simple, con zero-configuration y usando solo las funciones de PR de GitHub, así que fue desarrollada directamente

Ejemplo

Situación en la que existen stacked PRs como los siguientes:

  • #102 (main <- stack-1)
  • #103 (stack-1 <- stack-2)
  • #104 (stack-2 <- stack-3)

Después de hacer merge del PR #102 en main, hay que hacer rebase de los PRs #103 y #104.

  • Incluso hacer rebase de solo dos PRs ya es una tarea bastante molesta,
  • y si el grafo se complica por razones como commits adicionales en #102, recordar los comandos de git para encontrar el padre común se vuelve bastante fastidioso
  • Además, los stacked PRs no se usan tan frecuentemente; suelen necesitarse solo de vez en cuando, así que es aún más fácil olvidarlo

Con el siguiente comando se puede ejecutar automáticamente el rebase de forma sencilla:

gh domino --dry-run  
gh domino [--auto]  

Puedes ver ejemplos más detallados en el README.md.

2 comentarios

 
lamanus 2025-08-25

Eh, ¿no se suponía que GitHub lo hacía automáticamente?!

 
a1eng0 2025-08-25

Si usas la función safe delete branch que ofrece GitHub, la base branch se cambia automáticamente, pero en el caso de un squash merge, como no hay relación en el historial de Git, termina en estado de conflicto.

Además, si no usas safe delete y borras la branch directamente con Git, también está la molestia de tener que cambiar la base branch manualmente.