# Création de pull requests empilées

Créez une série de pull requests dépendantes à l’aide de l’extension gh stack dans GitHub CLI ou directement sur GitHub.

> \[!NOTE] Cette fonctionnalité est disponible en préversion publique et peut être modifiée.

Créez des pull requests empilées avec l’extension `gh stack` dans GitHub CLI ou sur le site web GitHub.

> \[!NOTE]
> Les demandes de tirage empilées nécessitent que toutes les branches se soient dans le même référentiel. Les piles inter-fourche ne sont pas prises en charge.

## Création d’une pile avec GitHub CLI

1. Initialiser une pile. Cela crée et extrait la première branche au-dessus de votre branche de jonction.

   ```shell copy
   gh stack init auth-layer
   ```

2. Écrivez du code pour la première couche, puis mettez en scène et validez vos modifications.

   ```shell copy
   git add .
   git commit -m "helpful-commit-message"
   ```

3. Ajoutez une branche pour l’unité logique suivante de travail. La nouvelle branche est créée en haut de la branche actuelle.

   ```shell copy
   gh stack add BRANCH-NAME
   ```

4. Écrivez du code et effectuez un commit dans la nouvelle branche. Répétez pour chaque couche supplémentaire.

5. Envoyez toutes les branches vers le référentiel distant et créez les demandes de tirage empilées GitHub.

   ```shell copy
   gh stack submit
   ```

   Chaque pull request est créée avec la branche de base appropriée, de sorte que les relecteurs ne voient que les modifications de cette couche, et les pull requests sont automatiquement reliées entre elles pour former une pile.

## Création d’une stack depuis le site web GitHub

Vous pouvez créer une pile sans utiliser la CLI en définissant la branche de base de chaque pull request sur la branche juste en dessous.

1. Créez la première demande de tirage comme vous le feriez normalement. En général, votre base ciblerait `main`.

2. Créez la pull request suivante et définissez comme branche de base la branche de la première pull request. Sélectionnez l’option **Créer une pile** pour lier les deux demandes de tirage en tant que pile.

   Une fois créée, la stack affiche les pull requests liées entre elles.

   * Une icône en forme de pile <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-stack" aria-label="The stack icon" role="img"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg> en haut de la pull request affiche un nombre indiquant quelle couche vous consultez.
   * Une carte empilée s’affiche dans la zone de fusion. Il affiche chaque pull request de la pile et son état, et vous permet d’accéder à n’importe quel niveau en un clic.

3. Répétez l’opération pour chaque pull request supplémentaire, en ciblant la branche de la pull request précédente.

## Transformer les pull requests existantes en pile

Si vous avez déjà des pull requests ouvertes dont les branches s’alignent, chaque branche de base d’une pull request correspondant à la branche source de la pull request située en dessous, GitHub détecte la chaîne et affiche une **bannière de recommandation** proposant de les convertir en pile.

1. Sur l’une des demandes de tirage éligibles, sélectionnez la bannière pour ouvrir une boîte de dialogue qui affiche un aperçu de la pile, répertoriant chaque demande de tirage dans l’ordre de haut en bas.

2. Consultez l’aperçu et confirmez afin de lier les pull requests pour en faire une pile.

Après confirmation, la vue d’ensemble de la pile s’affiche dans l’en-tête de chaque pull request.

## Ajouter à une pile existante depuis le site web GitHub

Pour ajouter une nouvelle pull request à une pile de pull requests existante :

1. Ouvrez n’importe quelle pull request de la pile, cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-stack" aria-label="The stack icon" role="img"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg>** dans l’en-tête, puis cliquez sur **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="Add button" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> Ajouter à la pile**.

2. La branche de base est automatiquement définie à la tête de la demande de tirage située au sommet. Sélectionnez la branche de tête de votre nouvelle demande de tirage et sélectionnez **Créer une demande de tirage**.

3. Sélectionnez **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-plus" aria-label="Add button" role="img"><path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path></svg> Ajouter à la stack**, pour créer la pull request.

La nouvelle pull request est ajoutée en haut de la pile.

## Lectures complémentaires

* [Commandes CLI des demandes de tirage empilées](/fr/pull-requests/reference/stacked-prs-cli-commands)