GitHub Stacked PRs
(github.github.com/gh-stack)- Nouvelle fonctionnalité de GitHub permettant de diviser de gros changements de code en petites PR empilées et faciles à relire, puis de les gérer de manière séquentielle
- Chaque PR est relue indépendamment, et l’ensemble de la pile peut être fusionné en un clic
- Via l’interface GitHub et la CLI
gh stack, prise en charge de la création, navigation, rebase et fusion des piles, avec une stack map pour visualiser la hiérarchie - Grâce à l’intégration d’agents de codage IA, il est possible de découper automatiquement un gros diff en unités empilées ou de développer directement selon une approche basée sur les piles
- L’objectif est de réduire la complexité et le risque de conflits liés aux grosses PR, tout en améliorant l’efficacité de la revue et la vitesse de développement des équipes
Fonctionnalités principales
-
Gestion des PR empilées
- Plusieurs PR peuvent être organisées sous forme de pile ordonnée (stack), chaque PR étant basée sur la branche de la PR située juste en dessous
- Cela forme au final une structure en chaîne qui aboutit à la branche principale
- GitHub reconnaît l’ensemble de la pile et affiche une stack map dans l’interface, ce qui permet aux reviewers de naviguer facilement entre les niveaux
- Les règles de protection de branche s’appliquent à la branche cible finale, et les tests CI s’exécutent sur toutes les PR de la pile
-
Gestion simplifiée des piles
- Depuis l’interface GitHub, il est possible de naviguer entre les PR d’une pile, de vérifier l’état de chaque niveau et d’exécuter un cascading rebase sur l’ensemble de la pile
- Toute la pile peut être fusionnée en un clic, ou seulement une partie
- Après la fusion, les PR restantes sont automatiquement rebasées, de sorte que la PR non fusionnée la plus basse soit réajustée pour cibler la branche par défaut
-
Prise en charge CLI avancée
- Avec la CLI
gh stack, il est possible d’effectuer dans le terminal la création de piles, le rebase, le push des branches, la création de PR et la navigation entre les niveaux - Exemples de commandes CLI
gh extension install github/gh-stack: installer l’extensiongh stack alias: configurer une commande abrégéegs init <branch>: créer la première branchegs add <branch>: ajouter un nouveau niveaugs push: pousser toutes les branchesgs submit: créer les PR de toute la pile
- Avec la CLI
-
Intégration des agents IA
- La commande
npx skills add github/gh-stackpermet à un agent de codage IA d’être configuré pour effectuer des opérations sur les piles - Il peut automatiquement découper un gros diff en unités empilées, ou mener un développement basé sur des piles dès le départ
- La commande
Pourquoi les PR empilées sont nécessaires
- Les grosses PR entraînent une hausse de la difficulté de revue, des retards de fusion et un risque accru de conflits
- Les reviewers perdent le contexte, la qualité des retours baisse et le rythme de toute l’équipe ralentit
- Les Stacked PRs répondent à ce problème en fractionnant les changements en une chaîne de PR petites et ciblées
- Chaque PR peut être relue indépendamment, tandis que l’ensemble des changements s’accumule de façon séquentielle
Pour commencer
- Pour démarrer rapidement, consultez le guide Quick Start ou la documentation Overview
Aucun commentaire pour le moment.