# Solução de problemas de solicitações de pull empilhadas

Resolva problemas comuns com solicitações de pull empilhadas, incluindo conflitos de rebase, mesclagens bloqueadas, operações interrompidas e problemas de fila de mesclagem.

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

Este artigo aborda problemas comuns que você pode encontrar ao trabalhar com solicitações de pull empilhadas e como resolvê-las.

## Uma rebase relata um conflito

Quando uma rebase em cascata encontra um conflito, `gh stack rebase` interrompe e lista os arquivos conflitantes.

Para resolver o conflito e continuar:

1. Abra cada arquivo conflitante e resolva os marcadores de conflito (`<<<<<<<`, , `=======`). `>>>>>>>`

2. Preparar os arquivos resolvidos.

   ```shell
   git add .
   ```

3. Continue a rebase. Os branches restantes são rebasados automaticamente.

   ```shell
   gh stack rebase --continue
   ```

Se o conflito for muito complexo ou você quiser recomeçar, anule a rebase para restaurar todos os branches para seu estado de pré-rebase.

```shell
gh stack rebase --abort
```

## Uma sincronização interrompida por causa de um conflito

Se um conflito for detectado durante a execução `gh stack sync`, todos os branches serão restaurados para o estado original para que nada seja deixado parcialmente atualizado. Resolva o conflito interativamente executando uma nova base diretamente e, em seguida, envie por push os branches atualizados.

```shell
gh stack rebase
gh stack push
```

## Uma sessão de modificação não será iniciada

`gh stack modify` requer um estado inicial limpo. Se não for iniciado, confirme se:

* Você tem uma pilha ativa com check-out.
* Sua árvore de trabalho está limpa.
* Nenhuma rebase está em andamento.
* Nenhuma solicitação de pull é enfileirada para mesclagem.
* O histórico de confirmação é linear. Se não for, execute `gh stack rebase` primeiro.

## Uma sessão de modificação foi interrompida

Se `gh stack modify` for interrompido, por exemplo, por um conflito que você não deseja resolver ou uma falha de terminal, você pode restaurar a pilha para o estado em que ela estava antes de começar. Um instantâneo de pré-modificação é armazenado em cache localmente para recuperação.

```shell
gh stack modify --abort
```

Se ocorreu um conflito durante a aplicação de alterações e você deseja continuar, resolva o conflito, configure os arquivos com `git add`e execute `gh stack modify --continue`.

## Uma solicitação de pull não pode ser mesclada

Uma solicitação de pull em uma pilha só pode mesclar quando ela e cada solicitação de pull abaixo dela atende a todos os requisitos de mesclagem e a pilha tem um histórico totalmente linear. Se a mesclagem estiver bloqueada, verifique se:

* A solicitação de pull e todas as solicitações de pull abaixo dela exigiram revisões e verificações de passagem.
* A pilha tem um histórico linear. Se as alterações foram enviadas por push para um branch inferior ou o tronco avançou, o histórico pode não ser mais linear.

Para restaurar um histórico linear, execute `gh stack rebase` e clique `gh stack push`em **Rebase stack** na caixa de mesclagem. Para obter instruções, consulte [Gerenciando solicitações de pull empilhadas](/pt/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests).

## A mesclagem parou no meio da pilha

As verificações de pré-mesclagem são executadas antes de qualquer mesclagem, mas uma mesclagem ainda pode falhar. Por exemplo, devido a um conflito inesperado ou uma falha intermitente. Se ocorrer uma falha em parte, a mesclagem será interrompida nessa solicitação de pull.

* Solicitações de pull abaixo dela que mescladas permanecem desembarcadas com êxito no branch base.
* A solicitação de pull com falha e as solicitações de pull acima dela permanecem abertas.

Resolva o problema na solicitação de pull com falha e tente novamente a mesclagem para pousar o restante da pilha.

## Uma solicitação de pull foi removida da fila de mesclagem

As pilhas são mantidas juntas na fila de mesclagem. Se uma solicitação de pull for removida ou ejetada da fila, todas as solicitações de pull acima dela na pilha também serão ejetadas e removidas. Adicione novamente a pilha à fila depois que o problema subjacente for resolvido.

Uma pilha grande também pode ser dividida entre grupos de mesclagem consecutivos: a fila de mesclagem permite que um grupo de mesclagem exceda seu tamanho máximo configurado em até 50% para manter uma pilha unida e todas as solicitações de pull que não se ajustam continuarão em grupos subsequentes até que a pilha completa tenha aterrissado.

## Você fechou uma solicitação de pull no meio da pilha

Fechar uma solicitação de pull no meio de uma pilha impede que todas as solicitações de pull acima dela sejam mescladas. A relação de pilha é preservada, portanto, para abrir uma solicitação de pull diferente ou alterar a estrutura da pilha, primeiro você deve dissolver a pilha e depois recriá-la.

Você pode remover do GitHub site ou reestruturar a pilha com `gh stack modify`. O desassocupamento remove apenas as solicitações de pull abertas, de rascunho e fechadas; As solicitações de pull mescladas e enfileiradas permanecem na pilha. Confira [Gerenciando solicitações de pull empilhadas](/pt/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests#unstacking-from-the-github-website) e [Gerenciando solicitações de pull empilhadas](/pt/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests#restructuring-a-stack).

## As confirmações não são assinadas após uma rebase

Uma rebase disparada da solicitação de pull é executada nos GitHubservidores e essas confirmações **não** são assinadas. Se o repositório exigir confirmações assinadas, basee-se GitHub CLI novamente em vez disso.

* A execução `gh stack rebase` usa as operações locais do Git, portanto, as confirmações geradas seguem a configuração de assinatura de confirmação do Git local.
* Depois de rebasing, envie por push os branches atualizados com `gh stack push`.

## Você não pode criar uma pilha entre bifurcações

As solicitações de pull empilhadas exigem que todos os branches estejam no mesmo repositório. Não há suporte para pilhas entre bifurcações.