# Устранение неполадок с накоплением запросов на вытягивание

Устранение распространенных проблем с запросами на вытягивание с накоплением, включая конфликты перебазировки, заблокированные слияния, прерывания операций и проблемы очереди слияния.

> \[!NOTE] Эта функция доступна в публичном предварительном просмотре и может измениться.

В этой статье рассматриваются распространенные проблемы, которые могут возникнуть при работе с запросами на вытягивание с накоплением и их устранении.

## Перебаза сообщает о конфликте

Когда каскадная перебаза сталкивается с конфликтом, `gh stack rebase` останавливается и перечисляет конфликтующие файлы.

Чтобы устранить конфликт и продолжить, выполните следующие действия.

1. Откройте каждый конфликтный файл и устраните маркеры конфликтов (`<<<<<<<`, `=======`, `>>>>>>>`).

2. Этап разрешенных файлов.

   ```shell
   git add .
   ```

3. Продолжайте перебазу. Остальные ветви перебазируются автоматически.

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

Если конфликт слишком сложный или вы хотите начать, прервать перебазу для восстановления всех ветвей до их состояния повторной базы.

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

## Синхронизация остановлена из-за конфликта

Если во время выполнения `gh stack sync`обнаружен конфликт, все ветви восстанавливаются в исходном состоянии, поэтому ничего не осталось частично обновленным. Интерактивное разрешение конфликта путем запуска повторной базы, а затем отправки обновленных ветвей.

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

## Сеанс изменения не запускается

`gh stack modify` требует чистого начального состояния. Если он не начнется, убедитесь, что:

* У вас есть активный стек.
* Рабочее дерево чисто.
* Перебаза не выполняется.
* Запрос на вытягивание не помещается в очередь для слияния.
* Журнал фиксаций является линейным. Если это не так, запустите `gh stack rebase` сначала.

## Сеанс изменения был прерван

Например, если `gh stack modify` конфликт не требуется устранить или сбой терминала, можно восстановить стек до состояния, в который он был запущен. Предварительно измененный моментальный снимок кэшируется локально для восстановления.

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

Если конфликт произошел при применении изменений, и вы хотите продолжить, устраните конфликт, настроите файлы с `git add`помощью , а затем запустите `gh stack modify --continue`.

## Не удается объединить запрос на вытягивание

Запрос на вытягивание в стеке может объединяться только при выполнении каждого запроса на вытягивание под ним, соответствует всем требованиям слияния, а стек имеет полностью линейную историю. Если слияние заблокировано, убедитесь, что:

* Запрос на вытягивание и все запросы на вытягивание ниже имеют необходимые проверки и передачу проверок.
* Стек содержит линейную историю. Если изменения были перенесены на нижнюю ветвь или магистраль перемещены вперед, история больше не может быть линейной.

Чтобы восстановить линейную историю, запустите `gh stack rebase` и нажмите `gh stack push`кнопку **"Перебазировать"** в поле слияния. Инструкции см. в разделе [Управление запросами на вытягивание с накоплением](/ru/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests).

## Слияние остановлено частично через стек

Предварительные проверки слияния выполняются до любого слияния, но слияние по-прежнему может завершиться ошибкой. Например, из-за непредвиденных конфликтов или периодических сбоев. Если сбой происходит частично, слияние останавливается при этом запросе на вытягивание.

* Запросы на вытягивание под ним, которые успешно объединены, остаются на базовой ветви.
* Неудачный запрос на вытягивание и запросы на вытягивание, указанные выше, остаются открытыми.

Устраните проблему с неудачным запросом на вытягивание, а затем повторите слияние, чтобы приземлить остальную часть стека.

## Запрос на вытягивание был удален из очереди слияния

Стеки хранятся вместе в очереди слияния. Если запрос на вытягивание удаляется или удаляется из очереди, все запросы на вытягивание над ним в стеке также удаляются и удаляются. Повторно добавьте стек в очередь после устранения базовой проблемы.

Большой стек также может разделиться по последовательных группам слиянием: очередь слияния позволяет группе слиянием превышать его настроенный максимальный размер до 50 процентов, чтобы сохранить стек вместе, и любые запросы на вытягивание, которые не помещаются в последующие группы до тех пор, пока полный стек не приземлился.

## Вы закрыли запрос на вытягивание в середине стека

Закрытие запроса на вытягивание в середине стека блокирует все запросы на вытягивание над ним от слияния. Связь стека сохраняется, поэтому для открытия другого запроса на вытягивание или изменения структуры стека необходимо сначала растворить стек, а затем повторно создать его.

Вы можете отменить запись с GitHub веб-сайта или изменить структуру стека с `gh stack modify`помощью. Отмена взлома удаляет только открытые, черновики и закрытые запросы на вытягивание; Объединенные и очередные запросы на вытягивание остаются в стеке. См. [Управление запросами на вытягивание с накоплением](/ru/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests#unstacking-from-the-github-website) и [Управление запросами на вытягивание с накоплением](/ru/pull-requests/how-tos/create-pull-requests/managing-stacked-pull-requests#restructuring-a-stack).

## Фиксации не подписываются после перебазы

Перебаза, активируется из запроса на вытягивание на GitHubсерверах, и эти фиксации **не** подписаны. Если для репозитория требуются подписанные фиксации, перебазируйте GitHub CLI его.

* При выполнении `gh stack rebase` используются локальные операции Git, поэтому созданные фиксации соответствуют конфигурации подписи локальной фиксации Git.
* После повторной шины отправьте обновленные ветви с `gh stack push`помощью .

## Невозможно создать стек между вилками

Запросы на вытягивание с накоплением требуют наличия всех ветвей в одном репозитории. Кросс-форковые стеки не поддерживаются.