# Usar outras ferramentas com solicitações de pull empilhadas

Use solicitações de pull empilhadas com ferramentas como Jujutsu, Sapling ou git-town.

> \[!NOTE] Esse recurso está em versão prévia pública e está sujeito a alterações.

As solicitações de pull empilhadas são criadas em branches padrão do Git e solicitações de pull regulares, portanto, você pode optar por usar ferramentas diferentes da CLI para seu `gh stack` fluxo de trabalho local. Se você gerenciar cadeias de filiais com outra ferramenta, como Jujutsu (jj), Sapling ou git-town, poderá usar o `gh stack link` comando para abrir essas ramificações como uma pilha.GitHub

O `gh stack link` comando chama apenas a GitHub API para criar as solicitações de pull empilhadas. Ele não cria nenhum acompanhamento local. Se uma ramificação já tiver uma solicitação de pull aberta, use-a; caso contrário, `link` ela criará uma solicitação de pull de rascunho com o branch base correto.

## Vinculando branches como uma pilha

1. Crie sua cadeia de branches localmente com sua ferramenta de escolha. Por exemplo, com 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. Efetue push das ramificações e vincule-as como uma pilha, listada de baixo para cima.

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

   Isso envia por push os branches, cria uma solicitação de pull para cada um deles com a base correta e os vincula como uma pilha.GitHub

## Adicionando a uma pilha existente

Para adicionar mais branches a uma pilha com `link`a qual você criou, execute `gh stack link` novamente com a lista **completa** de solicitações de pull e branches na pilha, de baixo para cima. Você pode consultar solicitações de pull existentes por número.

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

## Definindo um branch base ou abrindo solicitações de pull

Por padrão, `link` direciona o branch padrão do repositório e cria solicitações de pull de rascunho. Para alterar este comportamento:

* Use `--base` para especificar um branch de tronco diferente.
* Use `--open` para marcar as solicitações de pull como prontas para revisão em vez de rascunho.

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

## Adotando branches para acompanhamento local completo

Se você quiser o acompanhamento de pilha local completo , para que você possa usar comandos como `gh stack rebase`, `gh stack sync`e navegação de pilha - adote seus branches existentes com `gh stack init` , em seguida, envie-os.

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

## Leitura adicional

* [Solicitações de pull empilhadas](/pt/enterprise-cloud@latest/pull-requests/reference/stacked-pull-requests)