{"meta":{"title":"Отмена GitHub Copilot CLI операции и откат изменений","intro":"Узнайте о различных способах отмены активной Copilot операции и о том, как откатить изменения, внесённые во время сессии, если результат не соответствует ожиданиям.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/concepts","title":"Основные понятия"},{"href":"/ru/copilot/concepts/agents","title":"Агенты"},{"href":"/ru/copilot/concepts/agents/copilot-cli","title":"Copilot CLI"},{"href":"/ru/copilot/concepts/agents/copilot-cli/cancel-and-roll-back","title":"Отмена и откат"}],"documentType":"article"},"body":"# Отмена GitHub Copilot CLI операции и откат изменений\n\nУзнайте о различных способах отмены активной Copilot операции и о том, как откатить изменения, внесённые во время сессии, если результат не соответствует ожиданиям.\n\n## Introduction\n\nКогда вы работаете в интерактивной Copilot CLI сессии, вы можете нажать <kbd>Esc</kbd> или <kbd>Ctrl</kbd>+<kbd>C</kbd> , чтобы контролировать, что Copilot происходит. Оба нажатия клавиши могут отменять операции, но работают немного иначе:\n\n* <kbd>Ctrl</kbd>+<kbd>C</kbd> действует мгновенно, без подтверждения второго нажатия — сначала удаляет все очередные запросы (по одному за нажатие), затем отменяет текущую операцию.\n* Одно нажатие <kbd>клавиши Esc</kbd> даёт более постепенное, постепенное управление. Во время Copilot активной работы один <kbd>Esc</kbd> не отменяется сразу — он показывает напоминание, а второе нажатие выполняет следующий шаг: удаляет последний поставленный в очередь запрос или отменяет операцию, когда ничего не поставлено в очередь.\n\nЕсли Copilot изменения уже были сделаны и вы хотите отменить их, можно выполнить откат до предыдущей точки в сеансе. Как Copilot работает, отслеживает изменения файла, Copilot CLI которые он делает, как он отвечает на каждый запрос. Это позволяет переключиться на более раннюю точку, дважды нажав <kbd>клавишу ESC</kbd> при Copilot простое, а входная область пуста. При перемотке выберите, следует ли перемоткать только беседу или восстановить измененные файлы Copilot .\n\n## Что делает прессинг Esc в разных ситуациях\n\nОдно <kbd>нажатие Esc</kbd> выполняет разные действия в зависимости от текущего состояния сессии:\n\n| Текущее состояние                          | Что делает <kbd>прессинг Esc</kbd>                                                                                                           |\n| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |\n| Copilot активен без очередных подсказок.   | Появляется напоминание «Esc снова для отмены». Операция запуска отменяется только если вы снова нажате <kbd>Esc</kbd> в течение полсекунды.  |\n| Copilot активен, и есть очередные запросы. | Появляется напоминание «Esc снова для отмены». Повторное <kbd>нажатие Esc</kbd> удаляет последний поставленный в очередь запрос.             |\n| Открыт диалог разрешения.                  | Один <kbd>Esc</kbd> отказывает в ожидающем запросе (второе нажатие не требуется).                                                            |\n| Открыт диалог, наложение или picker.       | Закрывает диалог, наложение или picker.                                                                                                      |\n| Copilot бездействует.                      | Краткое напоминание о том, что если быстро <kbd>нажать Esc</kbd> , откроется перемотчик назад. См. [Откат изменений](#rolling-back-changes). |\n\nПри простое нажатие <kbd>клавиши ESC</kbd> дважды Copilot позволяет выполнить откат до более ранней точки в сеансе. Если операция выполняется, двойной <kbd>esc</kbd> выполняет одно из следующих действий, в этом порядке приоритета:\n\n* Отменяет выполняемую команду оболочки.\n* Останавливает текущий ответ.\n* Останавливает фоновые агенты.\n* Очищает текст в области ввода.\n* Завершает режим оболочки.\n\nЕсли ни одно из этих действий не применяется, отображается средство выбора перемотки.\n\n## Когда использовать Esc вместо Ctrl+C\n\nГлавное отличие этих двух способов отмены операции в том, что <kbd>Esc</kbd> предназначен для постепенного, целенаправленного вмешательства, а <kbd>Ctrl</kbd>+<kbd>C</kbd> — жёсткий остановочный режим.\n\nИспользуйте <kbd>Esc</kbd> , когда хотите взаимодействовать, Copilot не обязательно завершая текущую операцию. Например, если появляется диалог с разрешением, и вы хотите отклонить именно этот запрос, <kbd>нажатие Esc</kbd> отклоняет диалог и Copilot продолжает работать — просто инструмент, который вы отклонили, не будет использоваться. Аналогично, если вы поставили в очередь последующие запросы и хотите отменить их, не прерывая уже выполненную работу, <kbd>нажатие Esc</kbd> удаляет последний поставленный в очередь запрос (повторяйте, чтобы убрать предыдущие), пока текущая операция продолжается.\n\nИспользуйте <kbd>Ctrl</kbd>+<kbd>C</kbd> , когда хотите отменить без второго подтверждающего нажатия, которое требуется <kbd>для Esc</kbd> . Если очередь на запросы не появляется, один <kbd>Ctrl</kbd>+<kbd>C</kbd> немедленно отменяет активную операцию. Если у вас есть подсказки в очереди, каждый <kbd>Ctrl</kbd>+<kbd>C</kbd> удаляет последний поставленный в очередь запрос — один за нажатие — и отменяет активную операцию только после того, как очередь опустела. Запись файлов, которая уже в процессе, завершится — файлы не остаются повреждёнными во время записи — но все оставшиеся запланированные изменения отменяются. Второе <kbd>нажатие Ctrl</kbd>+<kbd>C</kbd> в течение двух секунд, когда область ввода пуста, полностью завершает сессию.\n\nВ качестве эмпирического правила: используйте <kbd>Esc</kbd> , когда хотите вмешаться избирательно, и <kbd>Ctrl</kbd>+<kbd>C</kbd> , когда хотите остановиться и начать заново.\n\n## Откат изменений\n\nПока Copilot он неактивен и в области ввода нет текста, вы можете дважды <kbd>нажать Esc</kbd> , чтобы отобразить список точек текущей сессии, к которым можно откатиться. Каждая точка соответствует отправленной запросу, а перемотка возвращает сеанс обратно в состояние, в которое оно было сразу же, прежде чем Copilot начать работу с этим запросом.\n\nВыбрав точку перемотки, вы решите, следует ли:\n\n* **Перемотка беседы** только, оставляя файлы нетронутыми.\n* **Перемотка беседы и восстановление файлов**, которые возвращают измененные файлы Copilot , оставляя собственные последующие изменения на месте.\n\nТак как он восстанавливает только измененные файлы Copilot , а не всю рабочую область, перемотка работает в любом каталоге, включая папки, которые не являются репозиториями Git.\n\nДля полной информации о том, как использовать двойное <kbd>нажатие клавиши Esc</kbd> для отката изменений, внесённых во время сессии, см. [Откат изменений, внесённых во GitHub Copilot CLI время сессии](/ru/copilot/how-tos/copilot-cli/use-copilot-cli/roll-back-changes).\n\n> \\[!WARNING]\n> Перемотка восстанавливает всё рабочее пространство в состояние, в котором оно было на выбранном снимке. Это отменяет все изменения, внесённые после этого момента — не только изменения, внесённые Copilot, но и любые ручные правки, а также изменения, вытекающие из команд shell. Любые новые файлы, созданные в рабочем пространстве после снимка, удаляются независимо от их статуса в Git.\n\n### Что происходит, когда вы откатываетесь назад\n\nДействия, возникающие при откате, зависят от выбранного варианта.\n\nЕсли вы решили перемотить беседу **и** восстановить файлы:\n\n1. **Файлы восстанавливаются.** Измененные файлы Copilot возвращаются в состояние, в которое они находились до выбранного запроса. Файлы, текущее содержимое которого больше не соответствует Copilot последнему написанию( например, потому что вы отредактировали их самостоятельно), пропускаются, чтобы ваши последующие изменения не перезаписывали.\n2. **История сессий сокращается.** Беседа перенаводится к выбранной точке. Все сообщения и вызовы инструментов, возникшие после этого момента, удаляются из сессии.\n3. **Устаревшие моментальные снимки удаляются.** Захваченные изменения файла для отброшенных поворотов очищаются. Предыдущие точки остаются доступными для будущих перемоток.\n4. **Откат подтверждён.** После отката Copilot отобразится сообщение, указывающее, сколько файлов было восстановлено, и заметите все файлы, пропущенные.\n5. **Ваш запрос восстановлен.** Запрос, связанный с выбранной точкой, помещается в область ввода, поэтому ее можно изменить и повторно отправить.\n\nЕсли вы решили перемоткать только беседу, ваши файлы остаются незамеченными: журнал сеансов усечен (шаг 2) и запрос восстанавливается в области ввода (шаг 5).\n\n### Изменения, которые нельзя откатить\n\nВосстановление файлов пропускается или недоступно в следующих ситуациях:\n\n* **Файлы более 10 МБ.** Отдельные файлы размером более 10 МБ пропускаются во время записи, поэтому изменения этих файлов не восстанавливаются во время отката.\n* **Более 500 изменённых файлов.** Если во время одного поворота было изменено более 500 файлов, изменения файлов для этого поворота не записываются, поэтому вы не сможете восстановить файлы для него. Другие повороты не влияют.\n* **Файлы, которые вы изменили самостоятельно.** Файлы, текущее содержимое которого больше не соответствует Copilot последнему написанию, остается неуправляемым, а не перезаписанным.\n* **Сеансы без отслеживания файлов.** Если вы возобновляете сеанс, запущенный до включения отслеживания изменений файлов, доступна только перемотка беседы. Запустите новый сеанс, чтобы иметь возможность восстановить изменения файла.\n* **Удаленные или занятые сеансы.** Перемотка недоступна для удаленных сеансов или пока сеанс по-прежнему работает.\n\n## Дополнительные материалы\n\n* [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference)"}