Introduction
La gestion des branches et des pull requests (PR) est une partie cruciale du développement logiciel collaboratif. Avec l'introduction des Stacks GitHub, la gestion des PR empilées devient plus intuitive. Si tu utilises Jujutsu (jj), un système de contrôle de version compatible avec Git, tu es en mesure d'exploiter cette fonctionnalité de manière optimisée. Cet article t'explique comment tirer le meilleur parti des Stacks GitHub avec Jujutsu.
Prérequis
Avant de commencer, assure-toi d'avoir les outils CLI suivants installés :
- git pour la gestion des versions (v2.52.0 ou supérieur)
- jj pour le contrôle de version avancé (v0.43.0 ou supérieur)
- gh pour l'interface en ligne de commande GitHub (v2.96.0 ou supérieur)
- gh-stack pour la gestion des stacks GitHub (v0.1.0 ou supérieur)
Pour installer l'extension de stack, utilise : gh extension install github/gh-stack.
Configuration de Jujutsu
Jujutsu offre des alias pour gérer les bookmarks, ce qui est essentiel pour les PR empilées sur GitHub. Tu devras créer des bookmarks pour chaque commit de ta stack. Voici quelques commandes utiles :
jj b lpour lister les bookmarksjj b s <nom> -r <commit>pour créer ou déplacer un bookmarkjj b apour avancer le bookmark le plus proche au commit actuel
Adapter les alias de revset te permet d'affiner le comportement de jj, par exemple en personnalisant l'avance des bookmarks pour cibler les commits non vides et décrits.
Workflows Manuels
Une fois que tu as configuré jj, tu peux utiliser quelques sous-commandes essentielles pour gérer tes stacks à distance sur GitHub :
Créer une Stack
Pour créer une stack, commence par créer un bookmark pour chaque commit. Utilise les alias de revset pour naviguer efficacement entre les commits.
Ajouter un Commit en Haut de la Stack
Ajoute un nouveau commit en haut de ta stack pour maintenir un flux de travail structuré. Cela facilite la gestion et la révision des changements.
Gestion des Commits
Que tu souhaites ajouter un commit en bas ou au milieu de la stack, ou même supprimer un commit, les commandes jj te permettent de le faire efficacement. Assure-toi de synchroniser régulièrement avec GitHub pour éviter les conflits.
Fusionner ta Stack
Avant de fusionner, vérifie que tous les commits sont prêts et que les tests passent. Utilise gh stack push pour envoyer tes modifications à GitHub. La fusion de PR empilées est plus simple et minimise les risques de conflits.
Conclusion
En utilisant Jujutsu avec les Stacks GitHub, tu peux améliorer significativement ton flux de travail de développement. Les fonctionnalités avancées de jj permettent une gestion fine des commits et des PR, te donnant plus de contrôle et de flexibilité.
Discutons de ton projet en 15 minutes.