# Utiliser d’autres outils avec des demandes de tirage empilées

Utilisez des demandes de tirage empilées avec des outils tels que Jujutsu, Sapling ou git-town.

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

Les demandes de tirage empilées sont basées sur des branches Git standard et des demandes de tirage régulières. Vous pouvez donc choisir d’utiliser des outils autres que l’interface `gh stack` CLI pour votre flux de travail local. Si vous gérez des chaînes de branche avec un autre outil, tel que Jujutsu (jj), Sapling ou git-town, vous pouvez utiliser la `gh stack link` commande pour ouvrir ces branches en tant que pile sur GitHub.

La `gh stack link` commande appelle uniquement l’API GitHub pour créer les demandes de tirage empilées ; elle ne crée aucun suivi local. Si une branche a déjà une demande de tirage ouverte, l’utilise ; sinon, `link` elle crée une demande de tirage brouillon avec la branche de base correcte.

## Liaison de branches en tant que pile

1. Créez votre chaîne de branches localement avec votre outil de choix. Par exemple, avec Jujutsu :

   ```shell
   jj new main -m "first change"
   jj bookmark create change1 --revision @

   jj new -m "second change"
   jj bookmark create change2 --revision @

   jj new -m "third change"
   jj bookmark create change3 --revision @
   ```

2. Envoyez les branches et liez-les sous forme de pile, répertoriées de bas en haut.

   ```shell
   gh stack link change1 change2 change3
   ```

   Cela envoie (push) les branches, crée une demande de tirage pour chacun avec la base correcte et les lie sous forme de pile sur GitHub.

## Ajout à une pile existante

Pour ajouter d’autres branches à une pile avec laquelle `link`vous avez créé, réexécutez `gh stack link` la liste **complète** des demandes de tirage et des branches de la pile, du bas au haut. Vous pouvez faire référence à des demandes de tirage existantes par numéro.

```shell
gh stack link 123 124 125 change4 change5
```

## Définition d’une branche de base ou ouverture de demandes de tirage

Par défaut, `link` cible la branche par défaut de votre référentiel et crée des demandes de tirage provisoires. Pour modifier ce comportement :

* Permet `--base` de spécifier une branche de jonction différente.
* Permet `--open` de marquer les demandes de tirage comme prêtes à être examinées au lieu de brouillon.

```shell
gh stack link --base develop --open change1 change2 change3
```

## Adoption de branches pour le suivi local complet

Si vous souhaitez un suivi complet de la pile locale , vous pouvez donc utiliser des commandes telles que `gh stack rebase`, `gh stack sync`et la navigation de pile – adopter vos branches existantes à `gh stack init` la place, puis les envoyer.

```shell
gh stack init change1 change2 change3
gh stack submit
```

## Lectures complémentaires

* [Demandes de tirage empilées](/fr/pull-requests/reference/stacked-pull-requests)