gh-domino : rebasez vos Pull Requests empilées
(github.com/134130)- Une extension GitHub CLI qui rebase automatiquement les stacked PR sur GitHub
- Il existe de bons outils comme Graphite ou stacked-pr, mais leur barrière à l’entrée est trop élevée
- Par exemple, il faut parfois créer les stacked PR uniquement avec ces outils plutôt qu’avec git
- Et les options dans les fichiers de configuration locaux sont très nombreuses
- J’avais besoin d’un outil de rebase très simple, sans configuration, qui se contente des fonctionnalités de PR de GitHub, je l’ai donc développé moi-même
Exemple
Supposons qu’il existe les stacked PR suivantes :
- #102 (main <- stack-1)
- #103 (stack-1 <- stack-2)
- #104 (stack-2 <- stack-3)
Après avoir fusionné la PR #102 dans main, il faut rebase les PR #103 et #104.
- Même rebase seulement deux PR est déjà une tâche assez pénible
- En pratique, si le graphe s’est complexifié, par exemple parce que des commits supplémentaires ont été ajoutés à #102, se souvenir des commandes git permettant de retrouver le parent commun devient un vrai casse-tête
- En plus, les stacked PR ne sont pas utilisées en permanence : on n’en a besoin qu’occasionnellement, ce qui les rend encore plus faciles à oublier
Avec la commande suivante, il est possible d’automatiser simplement le rebase :
gh domino --dry-run
gh domino [--auto]
Des exemples plus détaillés sont disponibles dans le README.md.
2 commentaires
Euh, je croyais que GitHub le faisait automatiquement, non ?!
Si vous utilisez la fonctionnalité safe delete branch proposée par GitHub, la branche de base est changée automatiquement, mais dans le cas d’un squash merge, comme il n’y a pas de lien dans l’historique Git, cela crée un état de conflit !
De plus, si vous n’utilisez pas safe delete et supprimez directement la branche avec Git, il y a aussi la contrainte pénible de devoir changer la branche de base vous-même !