Введение
Когда вы работаете в интерактивной Второй пилот CLI сессии, Copilot можете вносить изменения в файлы, запускать команды shell и изменять репозиторий. Если результат не соответствует ожиданиям, можно перемотать к предыдущей точке сессии, чтобы отменить эти изменения.
Перемотку можно активировать, дважды нажав Esc или используя команду /undo слэш (или её псевдоним /rewind).
Второй пилот CLI Поддерживает два поведения при перемотке:
- Перемотка на основе Git: откат обратно к снимку рабочего пространства, сделанному в начале запроса.
- Перемотка на основе инструментов: позволяет перемотать только историю переписок или перематывать историю переписки и восстанавливать изменённые Copilot файлы.
Примечание.
Перемотка на основе инструментов сейчас является экспериментальной функцией и доступна только если вы использовали /experimental on команду slash или --experimental командную строку.
Второй пилот CLI Автоматически выбирает одно из этих перемоточных поведений в зависимости от вашей среды, чтобы обеспечить наилучший опыт перемотки.
Чтобы определить, какое из действий перемотки активно:
- Если picker сразу показывает снимки и выбирает один откат, вы используете перемотку на базе Git.
- Если при выборе точки перемотки открывается меню действий с Только Conversation и Conversation + файлы, значит, вы используете перемотку на основе инструментов.
В этой статье объясняется, как откатить изменения. Для получения дополнительной концептуальной информации о перемотке на более ранний момент сессии см. Отмена интерфейс командной строки GitHub Copilot операции и откат изменений.
Необходимые условия
- Точка перемотки должна существовать. Нельзя откатиться до первого запроса в сессии.
- Для перемотки только на Git: вы должны находиться в Git-репозитории с хотя бы одним коммитом.
- Для перемотки на основе инструментов: восстановление файлов можно пропустить для файлов, которые были изменены после Copilot последнего касания.
Откат назад с двойным нажатием клавиши Esc
Предупреждение
- Перемотку назад нельзя отменить. После отката история последней сессии удаляется навсегда.
- В Git-перемотке назад откат восстанавливает всё рабочее пространство в состояние, в котором оно было на выбранном снимке. Это отменяет все изменения, внесённые после этого момента — не только изменения, внесённые Copilot, но и любые ручные правки и изменения команд shell. Любые новые файлы, созданные в рабочем пространстве после снимка, удаляются, независимо от их статуса в Git.
- В перемотке на основе инструментов вы можете выбрать, восстанавливать ли файлы. Если вы выбираете восстановление файла, файлы, изменённые позже Copilot , могут остаться без изменений, чтобы избежать перезаписи новых правок.
Когда Copilot вы закончите отвечать на введённый вами запрос:
-
Убедитесь, что область ввода пуста. Если в области ввода есть текст, если нажать Esc дважды подряд, текст очищается.
-
Нажмите Esc дважды подряд, чтобы открыть перемотку.
Picker перечисляет доступные точки перемотки для текущей сессии, с самой последней первой. Десять самых последних точек отображаются одновременно. Если их больше десяти, используйте стрелку ↓ , чтобы прокрутить ниже по предыдущим точкам. Для каждой точки перемотки отображается начало введённого вами запроса с указанием, как давно вы его отправили.
-
Выберите точку перемотки назад.
- В перемотке на основе Git выбор снимка восстанавливает рабочее пространство в состояние в начале этого запроса.
- В перемотке на основе инструментов, после выбора точки перемотки, можно выбрать:
-
Только переписка (история перематана, файлы без изменений), или
-
Диалог + файлы (история перематывается назад и восстановленные файлы Copilot восстанавливаются).
-
Примечание.
В перемотке на основе Git репозиторий возвращается в состояние сразу перед Copilot началом работы над запросом, а не сразу после завершения работы.
Выбранный вами запрос отображается в области ввода, так что вы можете отредактировать и отправить его заново, если потребуется.
Откат назад с помощью команды /undo слэш
/undo Команда слэша и её псевдоним /rewindпредоставляют альтернативный способ открытия перемотки назад.
Обе команды дают одинаковый результат, который вы получаете при дважденном нажатии Esc в режиме Copilot ожидания и в области ввода нет текста.
Проверка отката
После отката можно использовать команды Git, чтобы проверить состояние репозитория и подтвердить, что оно соответствует вашим ожиданиям.
Ввод ! позволяет запускать команды shell напрямую из Второй пилот CLI входной строки, поэтому не нужно выходить из CLI, чтобы проверить состояние репозитория.
| Чтобы сделать это | Введите эту команду |
|---|---|
| Проверьте, какие файлы отображаются как изменённые, постановочные или неотслеживаемые. | ! git status |
| Покажите SHA и сообщение коммита текущего коммита. | ! git log --oneline -1 |
| Пересмотрите неинсценированные изменения. | ! git diff |